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 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()); } }
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); }