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

namespace GreenTree.Nachtragsmanagement.Web.Validation.Site
{
    public class SiteDataModelValidator : AbstractValidator<SiteDataModel>
    {
        public SiteDataModelValidator()
        {
            RuleFor(m => m.CustomNumber)
                .NotEmpty()
                    .WithMessage("Kostenstelle wird benötigt");

            RuleFor(m => m.Description)
                .NotEmpty()
                    .WithMessage("Beschreibung wird benötigt");

            RuleFor(m => m.Start)
                .NotEmpty()
                    .WithMessage("Ein Startdatum wird benötigt");

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