protected DomainResponse(ValidationMessageCollection validationDetails)
        {
            if (validationDetails == null)
                validationDetails = new ValidationMessageCollection();

            ValidationDetails = validationDetails;
        }
        private ValidationMessageCollection OnUpdateFailedFunc(DbUpdateConcurrencyException dbUpdateEx, UpdateDepartment.CommandModel commandModel, ref byte[] rowVersion)
        {
            var validationMessages = new ValidationMessageCollection();

            var entry = dbUpdateEx.Entries.Single();
            var databaseEntry = entry.GetDatabaseValues();
            if (databaseEntry == null)
            {
                validationMessages.Add(string.Empty, "Unable to save changes. The department was deleted by another user.");
                return validationMessages;
            }

            var databaseValues = (Department)databaseEntry.ToObject();
            rowVersion = databaseValues.RowVersion;

            if (databaseValues.Name != commandModel.Name)
                validationMessages.Add(nameof(commandModel.Name), "Current value: " + databaseValues.Name);

            if (databaseValues.Budget != commandModel.Budget)
                validationMessages.Add(nameof(commandModel.Budget), "Current value: " + string.Format("{0:c}", databaseValues.Budget));

            if (databaseValues.StartDate != commandModel.StartDate)
                validationMessages.Add(nameof(commandModel.StartDate), "Current value: " + string.Format("{0:d}", databaseValues.StartDate));

            if (databaseValues.InstructorID != commandModel.InstructorID)
                validationMessages.Add(nameof(commandModel.InstructorID), "Current value: " + _Repository.GetEntity<Instructor>(p => p.ID == databaseValues.InstructorID.Value).FullName);

            validationMessages.Add(string.Empty, "The record you attempted to edit "
                + "was modified by another user after you got the original value. The "
                + "edit operation was canceled and the current values in the database "
                + "have been displayed. If you still want to edit this record, click "
                + "the Save button again. Otherwise click the Back to List hyperlink.");

            return validationMessages;
        }
 public static void AddRange(this ModelStateDictionary modelState, ValidationMessageCollection messageCollection)
 {
     modelState.Clear();
     foreach (var msg in messageCollection.AllValidationMessages)
     {
         modelState.AddModelError(msg.PropertyName, msg.ErrorMessage);
     }
 }
 public static void AddRange(this ModelStateDictionary modelState, ValidationMessageCollection messageCollection)
 {
     modelState.Clear();
     foreach (var msg in messageCollection.AllValidationMessages)
     {
         modelState.AddModelError(msg.PropertyName, msg.ErrorMessage);
     }
 }
Esempio n. 5
0
        protected DomainResponse(ValidationMessageCollection validationDetails)
        {
            if (validationDetails == null)
            {
                validationDetails = new ValidationMessageCollection();
            }

            ValidationDetails = validationDetails;
        }
    public ValidationMessageCollection ValidatePayout(double withdrawAmount)
    {
        var messages = new ValidationMessageCollection();

        if (withdrawAmount > Balance)
        {
            messages.AddError("Not enough funds on your account");
        }
        return(messages);
    }
Esempio n. 7
0
        public static ValidationMessageCollection ValidateMake(MakeBookingRequest request)
        {
            var validationMessages = new ValidationMessageCollection();

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

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

            if (request.StartDate.HasValue && request.EndDate.HasValue)
            {
                if (request.EndDate.Value < request.StartDate.Value)
                {
                    validationMessages.AddError("EndDate", "End date must not be before start date.");
                }
            }

            if (request.Vehicle == null)
            {
                validationMessages.AddError("Vehicle", "Vehicle is required.");
            }
            if (request.Customer == null)
            {
                validationMessages.AddError("Customer", "Customer is required.");
            }

            if (request.Vehicle != null &&
                request.StartDate.HasValue &&
                request.EndDate.HasValue &&
                request.Vehicle.GetConflictingBookings(request.StartDate.Value, request.EndDate.Value).Any())
            {
                validationMessages.AddError("", "Booking conflicts with existing bookings.");
            }

            return(validationMessages);
        }
Esempio n. 8
0
        public static ValidationMessageCollection ValidateBook(Employee employee, DateTime start, DateTime end, string description)
        {
            var messages = new ValidationMessageCollection();

            var length = (end - start).Days + 1;

            if (length > employee.RemainingHolidays)
            {
                messages.AddError("Length of holiday exceeds employee's remaining holidays.");
            }

            return(messages);
        }
        public ValidationFault(ValidationMessageCollection validationMessages)
        {
            _messages = new List <ValidationFaultMessage>();

            foreach (ValidationMessage validationMessage in validationMessages)
            {
                _messages.Add(new ValidationFaultMessage()
                {
                    Field = validationMessage.Field,
                    Text  = validationMessage.Text
                });
            }
        }
Esempio n. 10
0
        public static ValidationMessageCollection ValidateRegister(RegisterCustomerRequest request)
        {
            var validationMessages = new ValidationMessageCollection();

            //Only a selection of fields validated for demo purposes.

            var rxPostCode =
                new Regex(
                    @"^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y]))) {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2}))$");

            if (string.IsNullOrEmpty(request.PostCode))
            {
                validationMessages.AddError("PostCode", "Post code not supplied");
            }
            else
            {
                if (!rxPostCode.IsMatch(request.PostCode))
                {
                    validationMessages.AddError("PostCode", "Post code is not valid.");
                }
            }

            if (string.IsNullOrEmpty(request.EmailAddress))
            {
                validationMessages.AddError("EmailAddress", "Email not supplied");
            }
            else if (request.EmailAddress.Length > 50)
            {
                validationMessages.AddError("EmailAddress", "Email must be 50 characters or less.");
            }
            else
            {
                var rxNonStrictEmail = new Regex(@"[A-Za-z0-9\.-_\+]+@[A-Za-z0-9\.-_\+]+");
                if (!rxNonStrictEmail.IsMatch(request.EmailAddress))
                {
                    validationMessages.AddError("EmailAddress", "Email is not valid.");
                }
            }

            if (request.ApplicationUser == null)
            {
                validationMessages.AddError("ApplicationUser", "ApplicationUser not supplied");
            }

            if (request.CustomerRole == null)
            {
                validationMessages.AddError("CustomerRole", "CustomerRole not supplied");
            }

            return(validationMessages);
        }
Esempio n. 11
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();
        }
 /// <summary>
 /// Gets the validation messages (a collection) associated with the specified key, usually a property name.
 /// </summary>
 public ValidationMessageCollection this[string key]
 {
     get
     {
         lock (sync)
         {
             if (!items.ContainsKey(key))
             {
                 items[key] = new ValidationMessageCollection();
                 items[key].CollectionChanged += (x, y) => OnErrorsChanged(EventArgs.Empty);
             }
             return items[key];
         }
     }
 }
Esempio n. 13
0
        public override ValidationResult Validate(ActionType actionType)
        {
            var collection = new ValidationMessageCollection();

            collection.AddEmptyMessage(Code, "Code");
            if (actionType != ActionType.Delete) {
                collection.AddEmptyMessage(Name, "Name");
            }

            if (actionType == ActionType.Add) {
                //TODO: db check for unique code.
            }

            return collection.ToValidationResult();
        }
Esempio n. 14
0
 /// <summary>
 /// Gets the validation messages (a collection) associated with the specified key, usually a property name.
 /// </summary>
 public ValidationMessageCollection this[string key]
 {
     get
     {
         lock (sync)
         {
             if (!items.ContainsKey(key))
             {
                 items[key] = new ValidationMessageCollection();
                 items[key].CollectionChanged += (x, y) => OnErrorsChanged(EventArgs.Empty);
             }
             return(items[key]);
         }
     }
 }
Esempio n. 15
0
        /// <summary>
        /// Validates the specified property name.
        /// </summary>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="value">The value.</param>
        /// <param name="validationContext">The validation context.</param>
        /// <returns>
        /// The list of validation messages.
        /// </returns>
        public override ValidationMessageCollection Validate(string propertyName, object value, string validationContext)
        {
            ValidationMessageCollection messages = base.Validate(propertyName, value, validationContext);

            if (propertyName == nameof(this.Price) &&
                value is decimal)
            {
                if ((decimal)value != this.Items.Sum(x => x.Price))
                {
                    messages.Add(new ValidationMessage("MustEqualSum", "The order price must match the sum of the item prices.", Array.Empty <object>(), this, propertyName));
                }
            }

            return(messages);
        }
Esempio n. 16
0
        private static ValidationMessageCollection ValidateBookUpdate(
            Employee employee,
            DateTime start,
            DateTime end,
            Holiday holidayBeingUpdated)
        {
            var startDateTime = start.Date + new TimeSpan(0, 9, 0, 0);
            var endDateTime   = end + new TimeSpan(0, 17, 0, 0);

            var validationMessages = new ValidationMessageCollection();

            //todo: three employees from same department cannot be off at same time?

            return(validationMessages);
        }
Esempio n. 17
0
        public static ValidationMessageCollection Save(
            this IRepository repository,
            EntityStateWrapperContainer entityContainer,
            Func <DbUpdateConcurrencyException, ValidationMessageCollection> dbUpdateConcurrencyExceptionFunc = null,
            Func <RetryLimitExceededException, ValidationMessageCollection> retryLimitExceededExceptionFunc   = null)
        {
            try
            {
                entityContainer.UnitsOfWork().ToList().ForEach(uow =>
                {
                    UpdateStates(repository, uow);
                    repository.Save();
                });

                return(new ValidationMessageCollection());
            }
            catch (DbUpdateConcurrencyException dbUpdateEx)
            {
                Logger.Warn(dbUpdateEx, dbUpdateEx.Message);
                if (dbUpdateConcurrencyExceptionFunc != null)
                {
                    return(dbUpdateConcurrencyExceptionFunc(dbUpdateEx));
                }

                var validationDetails = new ValidationMessageCollection();
                validationDetails.Add(new ValidationMessage(string.Empty, dbUpdateEx.ToString()));
                return(validationDetails);
            }
            catch (RetryLimitExceededException rleEx)
            {
                Logger.Error(rleEx, rleEx.Message);

                if (retryLimitExceededExceptionFunc != null)
                {
                    return(retryLimitExceededExceptionFunc(rleEx));
                }

                var validationDetails = new ValidationMessageCollection();
                validationDetails.Add(new ValidationMessage(string.Empty, "Unable to save changes. Try again, and if the problem persists, see your system administrator."));
                return(validationDetails);
            }
            catch (Exception ex)
            {
                Logger.Error(ex, ex.Message);
                throw;
            }
        }
Esempio n. 18
0
        public override ValidationResult Validate(ActionType actionType)
        {
            var collection = new ValidationMessageCollection();

            collection.AddEmptyMessage(Code, "Code");
            if (actionType != ActionType.Delete)
            {
                collection.AddEmptyMessage(Name, "Name");
            }

            if (actionType == ActionType.Add)
            {
                //TODO: db check for unique code.
            }

            return(collection.ToValidationResult());
        }
Esempio n. 19
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());
        }
        private static ValidationMessageCollection OnUpdateFailedFunc(IRepository repository, DbUpdateConcurrencyException dbUpdateEx, DepartmentUpdate.CommandModel commandModel, ref byte[] rowVersion)
        {
            var validationMessages = new ValidationMessageCollection();

            var entry         = dbUpdateEx.Entries.Single();
            var databaseEntry = entry.GetDatabaseValues();

            if (databaseEntry == null)
            {
                validationMessages.Add(string.Empty, "Unable to save changes. The department was deleted by another user.");
                return(validationMessages);
            }

            var databaseValues = (Department)databaseEntry.ToObject();

            rowVersion = databaseValues.RowVersion;

            if (databaseValues.Name != commandModel.Name)
            {
                validationMessages.Add(nameof(commandModel.Name), "Current value: " + databaseValues.Name);
            }

            if (databaseValues.Budget != commandModel.Budget)
            {
                validationMessages.Add(nameof(commandModel.Budget), "Current value: " + string.Format("{0:c}", databaseValues.Budget));
            }

            if (databaseValues.StartDate != commandModel.StartDate)
            {
                validationMessages.Add(nameof(commandModel.StartDate), "Current value: " + string.Format("{0:d}", databaseValues.StartDate));
            }

            if (databaseValues.InstructorID != commandModel.InstructorID)
            {
                validationMessages.Add(nameof(commandModel.InstructorID), "Current value: " + repository.GetEntity <Instructor>(p => p.ID == databaseValues.InstructorID.Value).FullName);
            }

            validationMessages.Add(string.Empty, "The record you attempted to edit "
                                   + "was modified by another user after you got the original value. The "
                                   + "edit operation was canceled and the current values in the database "
                                   + "have been displayed. If you still want to edit this record, click "
                                   + "the Save button again. Otherwise click the Back to List hyperlink.");

            return(validationMessages);
        }
Esempio n. 21
0
        public virtual ValidationMessageCollection ValidateComplete(string completedMessage, User currentUser)
        {
            var validationMessages = new ValidationMessageCollection();

            if (string.IsNullOrEmpty(completedMessage))
            {
                validationMessages.AddError("CompletedMessage", "Message is empty.");
            }

            //Business logic is that you can't complete someone else's task unless you have the permission to do so.
            if (AssignedTo != currentUser &&
                !currentUser.Role.PermissionRoles.Select(x => x.Permission.Id).Contains(PermissionIds.CompleteAnotherUsersTask))
            {
                validationMessages.AddError("You do not have the permission to complete this task.");
            }

            return(validationMessages);
        }
Esempio n. 22
0
        //todo: pass in bookings for employee to check clashes?
        private static ValidationMessageCollection ValidateMakeUpdate(DateTime start, DateTime end, IEnumerable <Booking> bookings, Booking bookingBeingUpdated)
        {
            var validationMessages = new ValidationMessageCollection();

            if (start == default(DateTime) || end == default(DateTime))
            {
                validationMessages.AddError("Start and end time not correctly set.");
            }

            if (!validationMessages.IsValid)
            {
                return(validationMessages);
            }

            if (start.Year != 2012 || end.Year != 2012)
            {
                validationMessages.AddError("Holidays can only be booked for 2012."); //For simplicity in this example.
            }
            if (start > end)
            {
                validationMessages.AddError("Start date is after end date.");
            }

            if (!validationMessages.IsValid)
            {
                return(validationMessages);
            }

            var matchingTimeAllocations = (from booking in bookings
                                           where (bookingBeingUpdated == null || bookingBeingUpdated != booking) &&
                                           ((start >= booking.Start && start <= booking.End) ||
                                            (end >= booking.Start && end <= booking.End) ||
                                            (start <= booking.Start && end >= booking.End))
                                           select booking)
                                          .ToList();

            if (matchingTimeAllocations.Any())
            {
                validationMessages.AddError("Booking clashes with other bookings for employee.");
            }

            return(validationMessages);
        }
Esempio n. 23
0
        private static ValidationMessageCollection ValidateBookMove(DateTime start, DateTime end, IEnumerable <Appointment> employeesOtherAppointments, Appointment bookingBeingUpdated)
        {
            var validationMessages = new ValidationMessageCollection();

            if (start == default(DateTime) || end == default(DateTime))
            {
                validationMessages.AddError("Start and end time not correctly set.");
            }

            if (!validationMessages.IsValid)
            {
                return(validationMessages);
            }

            if (start > end)
            {
                validationMessages.AddError("Start date is after end date.");
            }

            if (!validationMessages.IsValid)
            {
                return(validationMessages);
            }

            var matchingTimeAllocations = (from appointment in employeesOtherAppointments
                                           where (bookingBeingUpdated == null || bookingBeingUpdated != appointment) &&
                                           ((start >= appointment.Start && start <= appointment.End) ||
                                            (end >= appointment.Start && end <= appointment.End) ||
                                            (start <= appointment.Start && end >= appointment.End))
                                           select appointment)
                                          .ToList();

            if (matchingTimeAllocations.Any())
            {
                validationMessages.AddError("Appointment clashes with other appointments for employee.");
            }

            return(validationMessages);
        }
        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());
            }
        }
        public void TestException()
        {
            ValidationMessageCollection messages = new ValidationMessageCollection();
            IValidatable source = new Example();

            messages.Add(new ValidationMessage("messageKey", "defaultMessage: {0}{1}", new string[] { "X", "Y" }, source, "PropertyA", ValidationLevel.Warning, ValidationContext.Default, 5));

            try
            {
                throw new ValidationException(messages);
            }
            catch (ValidationException ex)
            {
                Assert.IsNotNull(ex);
                Assert.AreEqual(1, ex.ValidaitonMessages.Count);
                Assert.AreEqual("defaultMessage: XY", ex.ValidaitonMessages[0].Message);
                Assert.AreEqual(source, ex.ValidaitonMessages[0].ValidationSource);
                Assert.AreEqual("PropertyA", ex.ValidaitonMessages[0].PropertyName);
                Assert.AreEqual(ValidationLevel.Warning, ex.ValidaitonMessages[0].ValidationLevel);
                Assert.AreEqual(5, ex.ValidaitonMessages[0].ValidationPriority);
                Assert.AreEqual(ValidationContext.Default, ex.ValidaitonMessages[0].ValidationContext);
            }
        }
Esempio n. 26
0
        public static ValidationMessageCollection ValidateRaise(string description, User assignedTo, TaskType type, User currentUser)
        {
            //ValidateRaise and ValidateEdit look similar. They could be refactored to call the same method but I have left it like this
            //in this example for clarity.
            var validationMessages = new ValidationMessageCollection();

            if (string.IsNullOrEmpty(description))
            {
                validationMessages.AddError("Description", "Description is null or empty.");
            }

            if (assignedTo == null)
            {
                validationMessages.AddError("AssignedTo", "AssignedTo is null.");
            }

            if (type == null)
            {
                validationMessages.AddError("Type", "Type is null.");
            }

            return(validationMessages);
        }
            private void ValidateOneAdministratorAssignmentPerInstructor()
            {
                if (Context.CommandModel.InstructorID == null)
                {
                    return;
                }

                var queryRepository     = ResolveService <IQueryRepository>();
                var duplicateDepartment = queryRepository.GetEntity <Department>(
                    p => p.InstructorID == Context.CommandModel.InstructorID.Value,
                    new AsNoTrackingQueryStrategy(),
                    new EagerLoadingQueryStrategy <Department>(p => p.Administrator),
                    false);

                if (duplicateDepartment != null)
                {
                    string errorMessage =
                        $"Instructor {duplicateDepartment.Administrator.FirstMidName} {duplicateDepartment.Administrator.LastName} " +
                        $"is already administrator of the {duplicateDepartment.Name} department.";

                    ValidationMessageCollection.Add(string.Empty, errorMessage);
                }
            }
        public void When_ValidateComplete_is_called_Then_correct_methods_are_called()
        {
            var employeeChecklistId = Guid.NewGuid();
            var employeeChecklist = new Mock<EmployeeChecklist>();
            var validationMessages = new ValidationMessageCollection();

            var request = new CompleteEmployeeChecklistRequest
                              {
                                  EmployeeChecklistId = employeeChecklistId
                              };

            _employeeChecklistrepo
                .Setup(x => x.GetById(employeeChecklistId))
                .Returns(employeeChecklist.Object);

            employeeChecklist
                .Setup(x => x.ValidateComplete())
                .Returns(validationMessages);

            GetTarget().ValidateComplete(request);
            _employeeChecklistrepo.Verify(x => x.GetById(employeeChecklistId));
            employeeChecklist.Verify(x => x.ValidateComplete());
        }
Esempio n. 29
0
 public UpdateBookingInvalidatedEvent(Booking booking, ValidationMessageCollection validationMessages)
     : base(booking)
 {
     ValidationMessages = validationMessages;
 }
 public Response(ValidationMessageCollection validationDetails, byte[] rowVersion)
     : base(validationDetails)
 {
     RowVersion = rowVersion;
 }
Esempio n. 31
0
 public Response(ValidationMessageCollection validationDetails, int?studentId)
     : base(validationDetails)
 {
     StudentId = studentId;
 }
Esempio n. 32
0
 // If you are using the auto-validation 'decorator' do not change the signiture of this ctor (see AutoValidate<T>) in the
 // DomainBootstrapper class
 public Response(ValidationMessageCollection validationDetails)
     : base(validationDetails)
 {
 }
 public Response(ValidationMessageCollection validationDetails, bool hasConcurrencyError)
     : base(validationDetails)
 {
     HasConcurrencyError = hasConcurrencyError;
 }
 public Response(ValidationMessageCollection validationDetails, int?departmentId)
     : base(validationDetails)
 {
     DepartmentId = departmentId;
 }
 public ValidationFaultException(ValidationMessageCollection messages) : base(new ValidationFault(messages), "A validation error occured.")
 {
 }
Esempio n. 36
0
 public Response(ValidationMessageCollection validationDetails, int?instructorId)
     : base(validationDetails)
 {
     InstructorId = instructorId;
 }
Esempio n. 37
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);
        }
 public ValidationException(ValidationMessageCollection validationMessages)
     : base("A validation error occured.")
 {
     ValidationMessages = validationMessages;
 }
Esempio n. 39
0
 public List<SmartFormViewActionValidationMessage> SmartFormViewActionValidationMessages(ValidationMessageCollection messages)
 {
     List<SmartFormViewActionValidationMessage> list = new List<SmartFormViewActionValidationMessage>();
     foreach (ValidationMessage message in messages)
     {
         list.Add(new SmartFormViewActionValidationMessage
         {
             message = message.Message
         });
     }
     return list;
 }