public async Task <IActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { return(View(model)); } var result = await _userManager.ResetPasswordAsync(user, model.Token, model.Password); if (result.Succeeded) { // Confirm email, if not confirmed yet if (!(await _userManager.IsEmailConfirmedAsync(user))) { _ = _userManagerService.ConfirmEmailAsync(user); } return(View("PasswordChangeConfirmed")); } ModelState.AddModelError("", "Nie udało się zmienić hasła."); result.Errors .Select(identityError => identityError.Description) .ToList() .ForEach(errorMessage => ModelState.AddModelError("", errorMessage)); return(View(model)); }
public async Task <IActionResult> ConfirmEmail(string userId, string code) { var user = await _userManagerService.GetUserById(userId); if (userId == null || code == null) { return(View("Error")); } if (user == null) { return(View("Error")); } var result = await _userManagerService.ConfirmEmailAsync(user, code); if (result.Succeeded) { return(RedirectToAction("Index", "Home")); } else { return(View("Error")); } }