public AccountController(ILogger <AccountController> logger, ApplicationContext dbContext, IEmailSender sender, EmailConfirmationService confirmationService, AuthenticationService authenticationService) { _logger = logger; _dbContext = dbContext; _sender = sender; _confirmationService = confirmationService; _authenticationService = authenticationService; }
public async Task <IActionResult> ConfirmEmail(EmailConfirmationModel model) { try { if (!ModelState.IsValid) { throw new InvalidOperationException("Input Parameters Not In Correct Format"); } var email = await EmailConfirmationService.ConfirmEmail(model.UserId, model.Token); string redirectUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.Value}/EmailConfirmationSuccessful"; EmailConfirmationResponse emailConfirmationResponse = new EmailConfirmationResponse { Email = email, ConfirmationStatus = EmailConfirmation.CONFIRMED }; return(Ok(emailConfirmationResponse, "Email Confirmed Successfully", ResponseStatus.OK)); } catch (InvalidOperationException ex) { EmailConfirmationResponse emailConfirmationResponse = new EmailConfirmationResponse { ConfirmationStatus = EmailConfirmation.UNCONFIRMED }; var user = await UserManager.FindByIdAsync(model.UserId); if (user != null) { emailConfirmationResponse.Email = user.Email; } return(BadRequest(emailConfirmationResponse, ex.Message, ResponseStatus.APP_ERROR)); } catch (Exception ex) { EmailConfirmationResponse emailConfirmationResponse = new EmailConfirmationResponse { ConfirmationStatus = EmailConfirmation.UNCONFIRMED }; var user = await UserManager.FindByIdAsync(model.UserId); if (user != null) { emailConfirmationResponse.Email = user.Email; } return(BadRequest(emailConfirmationResponse, "Oops Something Went Wrong", ResponseStatus.FATAL_ERROR)); } }
public async Task <IActionResult> ConfirmEmail(string userid, string token) { try { await EmailConfirmationService.ConfirmEmail(userid, token); string redirectUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.Value}/EmailConfirmationSuccessful"; return(Redirect(redirectUrl)); } catch (Exception ex) { return(Redirect($"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.Value}/Error")); } }