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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #6
0
 public abstract Dictionary <string, string> HandleValidation(Models.ApartmentBooking model);