using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace SchoolSample.EntityModel
{
public partial class Course
{
/// <summary>
/// Static constructor to initialize ValidateEntityOnPropertyChanged
/// </summary>
static Course()
{
#if (WPF)
ValidateEntityOnPropertyChanged = true;
#endif
}
public static ValidationResult ValidateCourseInstructorId(object value, ValidationContext context)
{
var instructorId = (int) value;
if (instructorId == 0)
{
var result = new ValidationResult(Resource.SchoolModelResource.ChooseValidInstructorId,
new List<string> {context.MemberName});
return result;
}
return ValidationResult.Success;
}
public static ValidationResult ValidateClassSize(object value, ValidationContext context)
{
var classSize = (int) value;
if (classSize <= 0)
{
var result = new ValidationResult(Resource.SchoolModelResource.GreaterThanZero,
new List<string> {context.MemberName});
return result;
}
return ValidationResult.Success;
}
public static ValidationResult ValidateEnrollmentLimit(object value, ValidationContext context)
{
var course = (Course) value;
if (course.Enrollments.Count > course.ClassSize)
{
var result = new ValidationResult(Resource.SchoolModelResource.CourseEnrollmentLimit,
new List<string> {context.MemberName});
return result;
}
return ValidationResult.Success;
}
public static ValidationResult ValidateCourseStartAndEndDate(object value, ValidationContext context)
{
var course = (Course) value;
if (course.StartDate > course.EndDate)
{
var result = new ValidationResult(Resource.SchoolModelResource.CourseStartAndEndDate,
new List<string> {"StartDate", "EndDate"});
return result;
}
return ValidationResult.Success;
}
}
}