Beispiel #1
0
        public UserUpdatePasswordCommandValidator(IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _userFiltersProvider = userFiltersProvider;

            RuleFor(x => x.UserId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(UserExists)
            .DependentRules(() =>
            {
                When(x => !string.IsNullOrWhiteSpace(x.OldPasswordHash), () =>
                {
                    RuleFor(x => x.OldPasswordHash)
                    .MustAsync(OldPasswordIsValid)
                    .WithMessage("Old password is invalid");
                });
            });

            RuleFor(x => x.OldPasswordHash)
            .NotEmptyWithMessage();

            RuleFor(x => x.NewPasswordHash)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.PasswordHashLength)
            .IsValidMD5HashWithMessage();
        }
        public UserUpdateActiveStatusCommandValidator(IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _userFiltersProvider = userFiltersProvider;

            RuleFor(x => x.UserId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(UserExists);
        }
Beispiel #3
0
        public UserResetPasswordCommandValidator(IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _userFiltersProvider = userFiltersProvider;

            RuleFor(x => x.UserId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(UserExists);

            RuleFor(x => x.NewPasswordHash)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.PasswordHashLength)
            .IsValidMD5HashWithMessage();
        }
Beispiel #4
0
        public DeliveryRequestCreateCommandValidator(IGenericReadRepository readRepository, ICarStockFiltersProvider carStockFiltersProvider, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _carStockFiltersProvider = carStockFiltersProvider;
            _userFiltersProvider     = userFiltersProvider;

            RuleFor(x => x.CarId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(CarExists);

            RuleFor(x => x.ManagerId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(ManagerIsValid);

            RuleFor(x => x.Amount)
            .IsPositiveWithMessage();
        }
Beispiel #5
0
        public WorkOrderCreateCommandValidator(IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider,
                                               IValidator <WorkOrderClientCreateCommand> clientValidator, IWorkFiltersProvider workFiltersProvider) : base(readRepository)
        {
            _userFiltersProvider = userFiltersProvider;
            _workFiltersProvider = workFiltersProvider;

            RuleFor(x => x.WorkerId)
            .NotEmptyWithMessage()
            .MustAsync(WorkerIsValid)
            .WithMessage($"The {{PropertyName}} is invalid. User should be Active and has ServiceMan role.");

            RuleFor(x => x.Client)
            .SetValidator(clientValidator);

            RuleFor(x => x.WorksIds)
            .NotEmptyWithMessage();

            RuleForEach(x => x.WorksIds)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(WorkExists);
        }
        public DeliveryRequestAssignCommandValidator(IGenericReadRepository readRepository, IDeliveryRequestFiltersProvider deliveryRequestFiltersProvider, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _deliveryRequestFiltersProvider = deliveryRequestFiltersProvider;
            _userFiltersProvider            = userFiltersProvider;
            RuleFor(x => x.DeliveryRequestId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(DeliveryRequestExists)
            .CustomAsync(async(deliveryRequestId, context, cancellationToken) =>
            {
                var query = await ReadRepository.GetQueryableAsync(_deliveryRequestFiltersProvider.ById(deliveryRequestId));
                var deliveryRequestStatus = (DeliveryRequestStatuses)query.Select(x => x.StatusId).FirstOrDefault();

                string errorMessage;
                switch (deliveryRequestStatus)
                {
                case DeliveryRequestStatuses.Opened:
                    errorMessage = string.Empty;
                    break;

                case DeliveryRequestStatuses.Closed:
                    errorMessage = "Delivery request is closed.";
                    break;

                default:
                    errorMessage = "Delivery request is already assigned.";
                    break;
                }

                if (!string.IsNullOrEmpty(errorMessage))
                {
                    context.AddFailure(nameof(DeliveryRequestAssignCommand.DeliveryRequestId), errorMessage);
                }
            });

            RuleFor(x => x.SupplierManagerId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(SupplierManagerIsValid);
        }
        public UserCreateCommandValidator(IGenericReadRepository readRepository, IUserRoleFiltersProvider roleFiltersProvider, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _roleFiltersProvider = roleFiltersProvider;
            _userFiltersProvider = userFiltersProvider;

            RuleFor(x => x.FirstName)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.FirstNameMaxLength);

            RuleFor(x => x.LastName)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.LastNameMaxLength);

            RuleFor(x => x.Email)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.EmailMaxLength)
            .IsValidEmailWithMessage()
            .MustNotExistWithMessageAsync(EmailDoesNotExists);

            RuleFor(x => x.PasswordHash)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.PasswordHashLength)
            .IsValidMD5HashWithMessage();

            RuleFor(x => x.Phone)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.PhoneMaxLength)
            .IsValidPhoneNumberWithMessage();

            RuleFor(x => x.Salary)
            .IsPositiveOrZeroWithMessage();

            RuleFor(x => x.RoleId)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(RoleExists);
        }
        public UserUpdateCommandValidator(IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider) : base(readRepository)
        {
            _userFiltersProvider = userFiltersProvider;

            RuleFor(x => x.Id)
            .NotEmptyWithMessage()
            .MustExistsWithMessageAsync(UserExists);

            RuleFor(x => x.FirstName)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.FirstNameMaxLength);

            RuleFor(x => x.LastName)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.LastNameMaxLength);

            RuleFor(x => x.Phone)
            .NotEmptyWithMessage()
            .MaxLengthWithMessage(UserConstraints.PhoneMaxLength)
            .IsValidPhoneNumberWithMessage();

            RuleFor(x => x.Salary)
            .IsPositiveOrZeroWithMessage();
        }
 public AccountCommandFunctionality(IUnitOfWork unitOfWork, IMapperFactory mapperFactory, IGenericWriteRepository writeRepository, IValidatorFactory validatorFactory, IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider) : base(unitOfWork, mapperFactory, writeRepository, validatorFactory)
 {
     _readRepository      = readRepository;
     _userFiltersProvider = userFiltersProvider;
 }
 public AccountQueryFunctionality(IUnitOfWork unitOfWork, IMapperFactory mapperFactory, IGenericReadRepository readRepository, IUserFiltersProvider userFiltersProvider, IUserRelationsProvider userRelationsProvider) : base(unitOfWork, mapperFactory, readRepository)
 {
     _userFiltersProvider   = userFiltersProvider;
     _userRelationsProvider = userRelationsProvider;
 }
 public UserQueryFunctionality(IUnitOfWork unitOfWork, IMapperFactory mapperFactory, IGenericReadRepository readRepository, IUserFiltersProvider filtersProvider, IUserRelationsProvider relationsProvider) : base(unitOfWork, mapperFactory, readRepository)
 {
     _filtersProvider   = filtersProvider;
     _relationsProvider = relationsProvider;
 }