public ActionResult EditUser(EditAccountModel model) { if (ModelState.IsValid) { try { db.EditUser(model); return RedirectToAction("Index", "People"); } catch (Exception e) { ModelState.AddModelError("", e.ToString()); } } return View(model); }
public void EditUser(EditAccountModel model) { User user = GetUserById(model.UId); user.UserName = model.UserName; user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; user.Status = model.Status; ApplicationUserManager UserManager = new ApplicationUserManager(new ApplicationUserStore(new ApplicationDbContext())); if (model.Password != null) { user.PasswordHash = UserManager.PasswordHasher.HashPassword(model.Password); } List<string> removeIndex = new List<string>(); for (int i = 0; i < user.Role.Count; i++) { if (!(model.Roles.Contains(new RoleCheckBox(user.Role.ElementAt(i).Name, false)))) { removeIndex.Add(user.Role.ElementAt(i).Id); } } foreach (var index in removeIndex) { Role role = GetRoleById(index); user.Role.Remove(role); } for (int i = 0; i < model.Roles.Count; i++) { if (model.Roles[i].Checked) { try { Role role = GetRoleByName(model.Roles[i].Text); user.Role.Add(role); } catch { } } } Save(); }