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; }
public UserRegistrarService( IUserRegistrationRepository repository, IConfirmationCodeProvider confirmationCodeProvider, IPasswordHasher passwordHasher) { _repository = repository; _confirmationCodeProvider = confirmationCodeProvider; _passwordHasher = passwordHasher; }
public AppointmentServiceWithWrapperInterface(IDateTimeProvider dateTimeProvider, IConfigProvider configProvider, IUserProvider userProvider, IConfirmationCodeProvider confirmCodeProvider) { this._dateTimeProvider = dateTimeProvider; this._configProvider = configProvider; this._userProvider = userProvider; this._confirmCodeProvider = confirmCodeProvider; }