Browse Source

fix editing channel number (#59)

pull/60/head
Jason Dove 5 years ago committed by GitHub
parent
commit
e624627ae1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs
  2. 2
      ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs
  3. 2
      ErsatzTV.Core/Domain/Channel.cs
  4. 5
      ErsatzTV/Validators/ChannelEditViewModelValidator.cs

2
ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs

@ -74,7 +74,7 @@ namespace ErsatzTV.Application.Channels.Commands @@ -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;
}

2
ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs

@ -82,7 +82,7 @@ namespace ErsatzTV.Application.Channels.Commands @@ -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;
}

2
ErsatzTV.Core/Domain/Channel.cs

@ -5,6 +5,8 @@ namespace ErsatzTV.Core.Domain @@ -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; }

5
ErsatzTV/Validators/ChannelEditViewModelValidator.cs

@ -1,4 +1,5 @@ @@ -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 @@ -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();

Loading…
Cancel
Save