From 475702cf836cef53c268bbdc7fd29cf6a681d52b Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Wed, 10 Mar 2021 13:07:28 -0600 Subject: [PATCH] fix editing channel number --- .../Channels/Commands/CreateChannelHandler.cs | 2 +- .../Channels/Commands/UpdateChannelHandler.cs | 2 +- ErsatzTV.Core/Domain/Channel.cs | 2 ++ ErsatzTV/Validators/ChannelEditViewModelValidator.cs | 5 +++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs b/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs index 6afbf2cf1..ef6b98048 100644 --- a/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs +++ b/ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs @@ -74,7 +74,7 @@ namespace ErsatzTV.Application.Channels.Commands _ => BaseError.New("Channel number must be unique"), () => { - if (Regex.IsMatch(createChannel.Number, @"^[0-9]+(\.[0-9])?$")) + if (Regex.IsMatch(createChannel.Number, Channel.NumberValidator)) { return createChannel.Number; } diff --git a/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs b/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs index cde348fbd..f72944b39 100644 --- a/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs +++ b/ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs @@ -82,7 +82,7 @@ namespace ErsatzTV.Application.Channels.Commands int matchId = match.Map(c => c.Id).IfNone(updateChannel.ChannelId); if (matchId == updateChannel.ChannelId) { - if (Regex.IsMatch(updateChannel.Number, @"^[0-9](\.[0-9])?$")) + if (Regex.IsMatch(updateChannel.Number, Channel.NumberValidator)) { return updateChannel.Number; } diff --git a/ErsatzTV.Core/Domain/Channel.cs b/ErsatzTV.Core/Domain/Channel.cs index 0df157cd6..78780dd84 100644 --- a/ErsatzTV.Core/Domain/Channel.cs +++ b/ErsatzTV.Core/Domain/Channel.cs @@ -5,6 +5,8 @@ namespace ErsatzTV.Core.Domain { public class Channel { + public static string NumberValidator = @"^[0-9]+(\.[0-9])?$"; + public Channel(Guid uniqueId) => UniqueId = uniqueId; public int Id { get; set; } public Guid UniqueId { get; init; } diff --git a/ErsatzTV/Validators/ChannelEditViewModelValidator.cs b/ErsatzTV/Validators/ChannelEditViewModelValidator.cs index 949127ab0..172084476 100644 --- a/ErsatzTV/Validators/ChannelEditViewModelValidator.cs +++ b/ErsatzTV/Validators/ChannelEditViewModelValidator.cs @@ -1,4 +1,5 @@ -using ErsatzTV.ViewModels; +using ErsatzTV.Core.Domain; +using ErsatzTV.ViewModels; using FluentValidation; namespace ErsatzTV.Validators @@ -7,7 +8,7 @@ namespace ErsatzTV.Validators { public ChannelEditViewModelValidator() { - RuleFor(x => x.Number).Matches(@"^[0-9]+(\.[0-9])?$") + RuleFor(x => x.Number).Matches(Channel.NumberValidator) .WithMessage("Invalid channel number; one decimal is allowed for subchannels"); RuleFor(x => x.Name).NotEmpty();