Esempio n. 1
0
        public override ValidationResult Validate(ActionType actionType)
        {
            var validationResult = base.Validate(actionType);
            if (actionType == ActionType.Delete) {
                return validationResult;
            }

            var collection = new ValidationMessageCollection();
            collection.AddRange(validationResult.Messages);

            collection.AddEmptyMessage(PhoneNumber, "PhoneNumber");

            return collection.ToValidationResult();
        }
Esempio n. 2
0
        public override ValidationResult Validate(ActionType actionType)
        {
            var validationResult = base.Validate(actionType);

            if (actionType == ActionType.Delete)
            {
                return(validationResult);
            }

            var collection = new ValidationMessageCollection();

            collection.AddRange(validationResult.Messages);

            collection.AddEmptyMessage(PhoneNumber, "PhoneNumber");

            return(collection.ToValidationResult());
        }
        public override int SaveChanges()
        {
            ValidationMessageCollection validationMessages;

            validationMessages = new ValidationMessageCollection();

            foreach (DbEntityEntry entry in this.ChangeTracker.Entries().Where(x => x.State == EntityState.Added ||
                                                                               x.State == EntityState.Modified))
            {
                validationMessages.AddRange((entry.Entity as Entity).Validate());
            }

            if (validationMessages.Any(x => x.ValidationLevel == ValidationLevel.Error))
            {
                // we found invalid objects that were being saved => prevent saving them to the database
                throw new ValidationException(validationMessages);
            }
            else
            {
                return(base.SaveChanges());
            }
        }
Esempio n. 4
0
        protected static ValidationMessageCollection ValidateMake(MakeBookingParameterSet parameterSet)
        {
            var validationMessages = new ValidationMessageCollection();

            if (!parameterSet.PickUp.HasValue || parameterSet.PickUp.Value == default(DateTime))
            {
                validationMessages.AddError("PickUp", "Pick up date is required.");
            }
            else
            {
                if (parameterSet.PickUp.Value < DateTime.Now.Date)
                {
                    validationMessages.AddError("PickUp", "Pick up date must not be in the past.");
                }
            }

            if (!parameterSet.DropOff.HasValue || parameterSet.DropOff == default(DateTime))
            {
                validationMessages.AddError("DropOff", "Drop off date is required.");
            }
            else
            {
                if (parameterSet.DropOff.Value < DateTime.Now)
                {
                    validationMessages.AddError("DropOff", "Drop off date must not be in the past.");
                }
            }

            if (parameterSet.PickUp.HasValue && parameterSet.DropOff.HasValue)
            {
                if (parameterSet.DropOff.Value < parameterSet.PickUp.Value)
                {
                    validationMessages.AddError("DropOff", "Drop off date must not be before pickup date.");
                }
            }

            if (parameterSet.Bus == null)
            {
                validationMessages.AddError("Bus", "Bus is required.");
            }
            if (parameterSet.NumberOfAdults <= 0)
            {
                validationMessages.AddError("NumberOfAdults", "Booking must be for 1 or more adults.");
            }

            if (string.IsNullOrEmpty(parameterSet.DrivingLicenceNumber))
            {
                validationMessages.AddError("DrivingLicenceNumber", "Driving licence number is required.");
            }

            if (parameterSet.Bus != null &&
                parameterSet.PickUp.HasValue &&
                parameterSet.DropOff.HasValue &&
                parameterSet.Bus.GetConflictingBookings(parameterSet.PickUp.Value, parameterSet.DropOff.Value).Any())
            {
                validationMessages.AddError("", "Booking conflicts with existing bookings.");
            }

            var registerCustomerParameterSet = RegisterCustomerParameterSet.MapFrom(parameterSet);

            validationMessages.AddRange(Customer.ValidateRegister(registerCustomerParameterSet));

            return(validationMessages);
        }