Files
ersatztv/ErsatzTV/Validators/WatermarkEditViewModelValidator.cs
T
Jason DoveandGitHub 72d967946d rework watermarks (#261)
* rework watermarks to be separate from channels

* update changelog
2021-06-14 10:29:58 -05:00

46 lines
1.5 KiB
C#

using ErsatzTV.Core.Domain;
using ErsatzTV.ViewModels;
using FluentValidation;
namespace ErsatzTV.Validators
{
public class WatermarkEditViewModelValidator : AbstractValidator<WatermarkEditViewModel>
{
public WatermarkEditViewModelValidator()
{
RuleFor(x => x.Name).NotEmpty();
RuleFor(x => x.Image)
.NotEmpty()
.WithMessage("Watermark image is required!");
RuleFor(x => x.Width)
.GreaterThan(0)
.LessThanOrEqualTo(100)
.When(
vm => vm.Mode != ChannelWatermarkMode.None &&
vm.Size == ChannelWatermarkSize.Scaled);
RuleFor(x => x.HorizontalMargin)
.GreaterThanOrEqualTo(0)
.LessThanOrEqualTo(50)
.When(vm => vm.Mode != ChannelWatermarkMode.None);
RuleFor(x => x.VerticalMargin)
.GreaterThanOrEqualTo(0)
.LessThanOrEqualTo(50)
.When(vm => vm.Mode != ChannelWatermarkMode.None);
RuleFor(x => x.DurationSeconds)
.GreaterThan(0)
.LessThan(c => c.FrequencyMinutes * 60)
.When(vm => vm.Mode != ChannelWatermarkMode.None);
RuleFor(x => x.Opacity)
.GreaterThan(0)
.LessThanOrEqualTo(100)
.When(vm => vm.Mode != ChannelWatermarkMode.None);
}
}
}