public Task <TResponse> Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate <TResponse> next)
        {
            ValidationFailure[] errors = _validators
                                         .Select(x => { return(x.Validate(request)); })
                                         .SelectMany(x => { return(x.Errors); })
                                         .Where(x => { return(x != null); })
                                         .ToArray();

            if (errors.Any())
            {
                ValidationCollection validations = new ValidationCollection();
                foreach (ValidationFailure error in errors)
                {
                    validations.AddItem(error.ErrorCode, new[] { error.ErrorMessage }, new[] { error.PropertyName });
                }
                ValidationException exception = new ValidationException(validations);
                throw exception;
            }

            return(next());
        }
 public ValidationException(ValidationCollection validations)
     : base("Messages.BaseResult_ValidationExeption")
 {
     Validations = validations;
 }
 public ValidationException(string message, ValidationCollection validations)
     : base(message)
 {
     Validations = validations;
 }
 protected ValidatableParameters()
 {
     Validations = new ValidationCollection();
 }