public async Task <IActionResult> EditDetails(AdminChangeDetailsViewModel model) { var user = await _userManager.GetUserAsync(User); if (user == null) { Challenge(); } if (!ModelState.IsValid) { return(View(model)); } // Validate that the password matches var correctPassword = await _userManager.CheckPasswordAsync(user, model.Password); if (!correctPassword) { ModelState.AddModelError("Password", "Fel lösenord angett"); return(View(model)); } if (!string.IsNullOrWhiteSpace(model.NewPassword) && !string.IsNullOrWhiteSpace(model.ConfirmPassword)) { // Change password var result = await _userManager.ChangePasswordAsync(user, model.Password, model.NewPassword); if (result.Succeeded) { ViewBag.PassWordChanged = "Lösenord har uppdaterats"; } } // Check if user has changed email var confirmedEmail = await _userManager.GetEmailAsync(user); if (string.Equals(confirmedEmail, model.Email, StringComparison.CurrentCultureIgnoreCase)) { return(View(model)); } // Change email var token = await _userManager.GenerateChangeEmailTokenAsync(user, model.Email); var mail = await _userManager.ChangeEmailAsync(user, model.Email, token); if (mail.Succeeded) { ViewBag.EmailChanged = "Email har uppdaterats"; } return(View(model)); }
public async Task <IActionResult> EditDetails() { var user = await _userManager.GetUserAsync(User); if (user == null) { Challenge(); } var model = new AdminChangeDetailsViewModel { Username = user.UserName, Email = user.Email }; return(View(model)); }