public ActionResult Edit(EditUserViewModel viewModel, string[] RoleName) { try { if (ModelState.IsValid) { UpdateUserWithRole(viewModel, RoleName); return Content(Boolean.TrueString); } return Content(ExceptionHelper.ModelStateErrorFormat(ModelState)); } catch (Exception ex) { ExceptionHelper.ExceptionMessageFormat(ex, true); return Content("Sorry! Unable to edit this user."); } }
private int UpdateUserWithRole(EditUserViewModel model, string[] rolenames) { bool changePasswordSucceeded; MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */); changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword); if (changePasswordSucceeded) { // Add the role. var user = _db.Users.Find(model.UserName); var roles = new List<Role>(); foreach (var rolename in rolenames) { var role = _db.Roles.Find(rolename); roles.Add(role); } user.Roles = roles; } return _db.SaveChanges(); }
// // GET: /User/Edit/By ID public ActionResult Edit(string id) { try { var user = _db.Users.Find(id); if (user != null) { var roles = _db.Roles.ToList().Select(x => new AssignRoleModel { RoleName = x.RoleName }); //var editUserViewModel = new EditUserViewModel { UserName = user.UserName, Email = user.Email, OldPassword = user.PasswordHash, NewPassword = user.PasswordHash, ConfirmPassword = user.PasswordHash, ddlRoles = roles }; var editUserViewModel = new EditUserViewModel { UserName = user.UserName, Email = user.Email, Roles = roles }; return PartialView("_Edit", editUserViewModel); } else { return RedirectToAction("Index", "User"); } } catch (Exception ex) { ExceptionHelper.ExceptionMessageFormat(ex, true); return RedirectToAction("Index", "User"); } }