using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.ComponentModel.DataAnnotations; using Sleis.Validation.Attribute; namespace Sleis.Models { public class NewsItemModel : BaseIdentityModel { public NewsItemModel() { StartDate = DateTime.Now; } [Required(ErrorMessage = Constants.RequiredErrorMessage)] public virtual string Title { get; set; } [Required(ErrorMessage = Constants.RequiredErrorMessage)] public virtual string Text { get; set; } [Required(ErrorMessage = Constants.RequiredErrorMessage)] public virtual DateTime StartDate { get; set; } public virtual DateTime? EndDate { get; set; } public override IEnumerable Validate(ValidationContext ctx) { List < ValidationResult > errs = new List(base.Validate(ctx)); if (EndDate.HasValue && StartDate > EndDate.Value) { errs.Add(new ValidationResult("Start date must be before End Date")); } return errs.AsEnumerable(); } } }