Пример #1
0
        public UserSignUpNotificationValidator(IMediator mediator)
        {
            RuleFor(notification => notification.FirstName)
            .NotEmpty()
            .MaximumLength(UserValidationConstants.DefaultMaxLength);

            RuleFor(notification => notification.LastName)
            .NotEmpty()
            .MaximumLength(UserValidationConstants.DefaultMaxLength);

            RuleFor(notification => notification.Email)
            .NotEmpty()
            .EmailAddress()
            .MustAsync(async(email, cancelationToken) =>
            {
                var request = new SupplierInvitationExistsByEmailRequest
                {
                    Email = email
                };

                var supplierInvitationExists = await mediator.Send(request);

                return(!supplierInvitationExists);
            });

            RuleFor(notification => notification.Password)
            .NotEmpty()
            .MinimumLength(AuthenticationValidationConstants.PasswordMinLength);

            RuleFor(notification => notification.PasswordConfirmation)
            .Equal(notification => notification.Password);
        }
Пример #2
0
        public InviteSupplierNotificationValidator(IMediator mediator)
        {
            RuleFor(notification => notification.Name)
            .NotEmpty()
            .MaximumLength(ValidationConstants.DefaultMaxLength);

            RuleFor(notification => notification.Email)
            .NotEmpty()
            .EmailAddress()
            .MustAsync(async(email, cancelationToken) =>
            {
                var request = new UserExistsByEmailRequest
                {
                    Email = email
                };

                var userExists = await mediator.Send(request);

                return(!userExists);
            })
            .WithMessage(email => $"User with email {email} alredy exists.")
            .MustAsync(async(email, cancelationToken) =>
            {
                var request = new SupplierInvitationExistsByEmailRequest
                {
                    Email = email
                };

                var supplierInvitationExists = await mediator.Send(request);

                return(!supplierInvitationExists);
            })
            .WithMessage(email => $"Supplier invitation for email {email} alredy exists.");
        }