public CreateModelValidator(IRepositoryReader <Data.Entities.ClassPeriod> repositoryReader) { RuleFor(model => model.ClassPeriodName).Must(classPeriodName => { Expression <Func <Data.Entities.ClassPeriod, bool> > expression = entity => entity.ClassPeriodName == classPeriodName; return(repositoryReader.DoesRepositoryReturnNullFor(classPeriodName, expression)); }).WithMessage("This period name already exists."); }
public CreateModelValidator(IRepositoryReader <Data.Entities.Course> repositoryReader) { RuleFor(model => model.ParentCourseId).NotEmpty(); RuleFor(model => model.CourseCode).NotEmpty().Length(1, 60); RuleFor(model => model.CourseTitle).NotEmpty().Length(1, 60); RuleFor(model => model.NumberOfParts).NotEmpty(); RuleFor(model => model.AcademicSubject).NotEmpty(); RuleFor(model => model.CourseDescription).Length(0, 20); RuleFor(model => model.CourseCode).Must(courseCode => { Expression <Func <Data.Entities.Course, bool> > expression = entity => entity.CourseCode == courseCode.Trim(); return(repositoryReader.DoesRepositoryReturnNullFor(courseCode, expression)); }).WithMessage("This course already exists."); }
public CreateStudentModelValidator(IRepositoryReader <Data.Entities.Student> repositoryReader) { RuleFor(csm => csm.StudentUsi).NotNull(); RuleFor(csm => csm.FirstName).NotEmpty().Length(1, 75); RuleFor(csm => csm.LastName).NotEmpty().Length(1, 75); RuleFor(csm => csm.Address).NotEmpty().Length(1, 150); RuleFor(csm => csm.Address2).Length(0, 20); RuleFor(csm => csm.City).NotEmpty().Length(1, 30); RuleFor(csm => csm.Sex).NotNull(); RuleFor(csm => csm.BirthDate).NotNull(); RuleFor(csm => csm.Race).NotNull(); RuleFor(csm => csm.State).NotNull(); RuleFor(csm => csm.PostalCode).NotEmpty().Length(1, 17); RuleFor(csm => csm.HomeLanguage).NotNull(); RuleFor(csm => csm.FirstParent).SetValidator(new CreateParentModelValidator()); RuleFor(model => model.StudentUsi).Must(usi => { Expression <Func <Data.Entities.Student, bool> > expression = entity => entity.StudentUSI == usi; return(repositoryReader.DoesRepositoryReturnNullFor(usi, expression)); }).WithMessage("A student with this USI already exists. Please go to the student's profile to enter academic details or program status."); When(csm => csm.AddSecondParent, () => RuleFor(csm => csm.SecondParent).SetValidator(new CreateParentModelValidator())); }