public static Dictionary <string, string> Validate(Models.ApartmentBooking model) { /* Hook up validation chain * DateFrom not null * DateTo not null * DateFrom greater than now * DateTo greater than DateFrom * Dummy apartment validation base on type */ DateFromRequiredValidator dateFromRequiredValidator = new DateFromRequiredValidator(); DateFromRangeValidator dateFromRangeValidator = new DateFromRangeValidator(); dateFromRequiredValidator.SetSuccessor(dateFromRangeValidator); DateToRequiredValidator dateTimeToRequiredValidator = new DateToRequiredValidator(); dateFromRangeValidator.SetSuccessor(dateTimeToRequiredValidator); DateToRangeValidator dateToRangeValidator = new DateToRangeValidator(); dateTimeToRequiredValidator.SetSuccessor(dateToRangeValidator); ApartmentAvaliableValidator apartmentAvaliableValidator = new ApartmentAvaliableValidator(); dateToRangeValidator.SetSuccessor(apartmentAvaliableValidator); return(dateFromRequiredValidator.HandleValidation(model)); }
public override Dictionary <string, string> HandleValidation(Models.ApartmentBooking model) { if (model.DateTo == DateTime.MinValue) { ErrorsResult.Add("DateTo", "Date to 2 field is required"); return(ErrorsResult); } if (Successor != null) { return(Successor.HandleValidation(model)); } return(ErrorsResult); }
public override Dictionary <string, string> HandleValidation(Models.ApartmentBooking model) { if (model.DateTo <= model.DateFrom) { ErrorsResult.Add("DateTo", "Date to should be grater than Date from"); return(ErrorsResult); } if (Successor != null) { return(Successor.HandleValidation(model)); } return(ErrorsResult); }
public override Dictionary <string, string> HandleValidation(Models.ApartmentBooking model) { if (model.DateFrom < new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)) { ErrorsResult.Add("DateFrom", "Date from should be grater than now"); return(ErrorsResult); } if (Successor != null) { return(Successor.HandleValidation(model)); } return(ErrorsResult); }
public override Dictionary <string, string> HandleValidation(Models.ApartmentBooking model) { /* Dummy validation */ if (model.ApartmentType == ApartmentType.OneBedroomExecutive) { ErrorsResult.Add("ApartmentType", string.Format("{0} is currently not avaliable", model.ApartmentType)); return(ErrorsResult); } if (Successor != null) { return(Successor.HandleValidation(model)); } return(ErrorsResult); }
public abstract Dictionary <string, string> HandleValidation(Models.ApartmentBooking model);