예제 #1
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            IGradeService gradeService = DependencyResolver.Current.GetService <IGradeService>();

            Grade grade = gradeService
                          .All()
                          .FirstOrDefault(
                g => g.GradeYear == this.GradeYear &&
                (g.AcademicYear.StartDate == this.AcademicYearStartDate ||
                 g.AcademicYear.EndDate == this.AcademicYearEndDate));

            if (grade != null)
            {
                yield return(new ValidationResult(string.Format("Grade {0} already exists", this.GradeYear)));
            }

            if (this.AcademicYearEndDate < DateTime.Now)
            {
                yield return(new ValidationResult("Grades cannot be added to already completed academic years."));
            }
        }