public async Task <IActionResult> EditPassword(Models.AccountViewModels.ManageUserViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); if (!model.PasswordEditViewModel.NewPassword.Equals(model.PasswordEditViewModel.NewPasswordConfirmation)) { ModelState.AddModelError(string.Empty, "Your new password does not match your password confirmation"); return(RedirectToAction("Manage", "Account")); } var result = await _userManager.ChangePasswordAsync(user, model.PasswordEditViewModel.OldPassword, model.PasswordEditViewModel.NewPassword); user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, model.PasswordEditViewModel.NewPassword); var resultHash = await _userManager.UpdateAsync(user); if (result.Succeeded && resultHash.Succeeded) { _logger.LogInformation($"Password for user {user.UserName} changed"); } } return(RedirectToAction("Manage", "Account")); }
public async Task <IActionResult> Manage(Models.AccountViewModels.ManageUserViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var userToEdit = await _userManager.GetUserAsync(User); userToEdit.Name = model.FirstName; userToEdit.Surname = model.Surname; await _userManager.UpdateAsync(userToEdit); return(RedirectToAction("Index", "Home")); } return(View(model)); }
public async Task <IActionResult> Manage(string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user '{_userManager.GetUserId(User)}'"); } var grpList = new List <Models.AccountViewModels.GroupViewModel>(); var groupIDList = new List <int>(); foreach (var item in _context.UserRoles.Where(x => x.UserId == user.Id)) { groupIDList.Add(item.RoleId); } foreach (var item in groupIDList) { var element = await _roleManager.FindByIdAsync(item.ToString()); grpList.Add(new Models.AccountViewModels.GroupViewModel { GroupName = element.Name, GroupID = element.Id }); } var model = new Models.AccountViewModels.ManageUserViewModel { Username = user.UserName, Id = user.Id, FirstName = user.Name, Surname = user.Surname, GroupList = grpList, PasswordEditViewModel = new Models.AccountViewModels.PasswordEditViewModel() }; return(View(model)); }