using Back.Services;
using FluentValidation;
using Shared.DTOs;

namespace Back.Validations
{
    public class CompanyRegistrationValidation : AbstractValidator<CompanyRegistrationDTO>
    {
        public CompanyRegistrationValidation(servCompany servCompany)
        {
            CascadeMode = CascadeMode.Stop;
            RuleFor(m => m.Mobile)
                .NotEmpty().WithMessage("موبایل نمی تواند باشد")
                .NotNull().WithMessage("موبایل نمی تواند باشد")
                .Length(11).WithMessage("فرمت موبایل صحیح نمی باشد")
                .Must(m => m.StartsWith("09")).WithMessage("فرمت موبایل صحیح نمی باشد")
                .Must(mo=> !servCompany.ExistMobileInCompany(mo).Result)
                .WithMessage("این موبایل قبلا ثبت شده");
        }
    }
}
