public ActionResult UserRoles(string id) { var user = db.Users.Find(id); UserRolesHelper helper = new UserRolesHelper(db); var model = new AdminUpdateRolesViewModel(); model.Id = user.Id; model.FirstName = user.FirstName; model.LastName = user.LastName; model.DisplayName = user.DisplayName; model.SelectedRoles = helper.ListUserRoles(id).ToArray(); model.Roles = new MultiSelectList(db.Roles, "Name", "Name", model.SelectedRoles); return(View(model)); }
public ActionResult UserRoles(AdminUpdateRolesViewModel model) { if (ModelState.IsValid) { var user = db.Users.Find(model.Id); UserRolesHelper helper = new UserRolesHelper(db); foreach (var role in db.Roles.Select(r => r.Name).ToList()) { helper.RemoveUserFromRole(user.Id, role); } if (model.SelectedRoles != null) { foreach (var role in model.SelectedRoles) { helper.AddUserToRole(user.Id, role); } } return(RedirectToAction("UserList", "Admin")); } else { var user = db.Users.Find(model.Id); UserRolesHelper helper = new UserRolesHelper(db); var returnModel = new AdminUpdateRolesViewModel(); returnModel.Id = user.Id; returnModel.FirstName = user.FirstName; returnModel.LastName = user.LastName; returnModel.DisplayName = user.DisplayName; returnModel.SelectedRoles = helper.ListUserRoles(user.Id).ToArray(); returnModel.Roles = new MultiSelectList(db.Roles, "Name", "Name", model.SelectedRoles); return(View(returnModel)); } }