Ejemplo n.º 1
0
        public async Task <IActionResult> Confirm(
            CancellationToken cancellationToken,
            [FromBody] RegistrationConfirmationBinding binding,
            [FromServices] IUserRepository userRepository,
            [FromServices] IConfirmationCodeProvider confirmationCodeProvider)
        {
            if (!confirmationCodeProvider.Validate(binding.ConfirmationCode, out var email))
            {
                return(UnprocessableEntity());
            }

            var user = await userRepository.FindByEmail(email, cancellationToken);

            if (user == null)
            {
                return(NotFound());
            }

            try
            {
                user.Confirm();
                await userRepository.Save(user);
            }
            catch (UserEmailAlreadyConfirmedException)
            {
                return(NoContent());
            }

            return(NoContent());
        }
 public UserRegistrationService(IPasswordHasher passwordHasher,
                                IConfirmationCodeProvider confirmationCodeProvider,
                                IConfirmationCodeSender confirmationCodeSender)
 {
     _passwordHasher           = passwordHasher;
     _confirmationCodeProvider = confirmationCodeProvider;
     _confirmationCodeSender   = confirmationCodeSender;
 }
Ejemplo n.º 3
0
 public UserRegistrarService(
     IUserRegistrationRepository repository,
     IConfirmationCodeProvider confirmationCodeProvider,
     IPasswordHasher passwordHasher)
 {
     _repository = repository;
     _confirmationCodeProvider = confirmationCodeProvider;
     _passwordHasher           = passwordHasher;
 }
Ejemplo n.º 4
0
 public AppointmentServiceWithWrapperInterface(IDateTimeProvider dateTimeProvider,
                                               IConfigProvider configProvider, IUserProvider userProvider, IConfirmationCodeProvider confirmCodeProvider)
 {
     this._dateTimeProvider    = dateTimeProvider;
     this._configProvider      = configProvider;
     this._userProvider        = userProvider;
     this._confirmCodeProvider = confirmCodeProvider;
 }