/// <summary> /// Send a new email confirmation to the user. /// </summary> /// <param name="emailConfReqVm">View model that contains the email information where we need to send the confirmation to.</param> public async Task <StggResult> RequestEmailConfirmationTokenAsync(EmailConfirmRequestVm emailConfReqVm) { // Gather information about the user and generate the email confirmation token. var stggResult = new StggResult(); var user = await AppUserManager.FindByEmailAsync(emailConfReqVm.Email); // Throw exception if the user was not found. if (user == null) { stggResult.AddError("Invalid email confirmation parameter."); return(stggResult); } var token = await AppUserManager.GenerateEmailConfirmationTokenAsync(user.Id); stggResult.SetValue(!string.IsNullOrEmpty(token)); return(stggResult); }
public async Task <ActionResult> EmailConfirmRequest(EmailConfirmRequestVm emailConfReqVm) { var result = View(emailConfReqVm); if (ModelState.IsValid) { var stggResult = await Managers.UserAccountManager.RequestEmailConfirmationTokenAsync(emailConfReqVm); if (stggResult.Status == StggResultStatus.Succeeded) { return(RedirectToAction("EmailConfirmTokenSent")); } else { return(RedirectToAction("Status", "Error", new { @id = 500 })); } } return(result); }