using FluentValidation;
using GreenTree.Nachtragsmanagement.Web.Models.Deviation;
using GreenTree.Nachtragsmanagement.Web.Models.Misc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace GreenTree.Nachtragsmanagement.Web.Validation.Misc
{
    public class MailNotificationDataModelValidator : AbstractValidator<MailNotificationDataModel>
    {
        public MailNotificationDataModelValidator()
        {
            RuleFor(m => m.NotificationPluginSystemName)
                .NotEmpty()
                    .WithMessage("Eine Benachrichtigungs-Plugin muss gewählt werden.");

            RuleFor(m => m.NotificationJobSystemName)
                .NotEmpty()
                    .WithMessage("Eine Benachrichtigungs-Job muss gewählt werden.");

            RuleFor(m => m.CronExpression)
                .NotEmpty()
                    .WithMessage("Ein Zeitplan muss ausgewählt werden.");

            RuleFor(m => m.UserValues)
                .Must(r => r.Count > 0)
                    .WithMessage("Mind. ein Benutzer muss ausgewählt werden");
        }
    }
}