public ViewResult ChangeRole(string id) { var user = UserManager.FindById(id); ChanModel model = new ChanModel(RoleManager.Roles, user); return(View(model)); }
public override bool IsValid(object value) { ChanModel item = (ChanModel)value; if (item.Roles.Count(x => x.IsSelected) > 0) { if ((item.Roles.Any(x => x.Role == "Admin") && item.Roles.Count(x => x.IsSelected) == item.Roles.Count()) || (item.Roles.Any(x => x.Role == "Admin"))) { return(true); } else { return(false); } } else { return(false); } }
public ActionResult ChangeRole(ChanModel modelItem)//Must insert checking of number of roles { if (ModelState.IsValid) { foreach (var item in modelItem.Roles) { if (item.IsSelected) { UserManager.AddToRole(modelItem.UserId, item.Role); } else { UserManager.RemoveFromRole(modelItem.UserId, item.Role); } } return(Redirect("/Admin/AllUsers")); } else { ModelState.AddModelError("", "Проверьте правильность заполнения ролей"); return(View("ChangeRole", modelItem)); } }