public ActionResult Delete(string userid, string rolid) { var rolesview = new List <Rollview>(); if (String.IsNullOrEmpty(userid) || String.IsNullOrEmpty(rolid)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var usermanager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var rolmanager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); var useruario = usermanager.Users.ToList().Find(x => x.Id == userid); var rol = rolmanager.Roles.ToList().Find(x => x.Id == rolid); if (usermanager.IsInRole(useruario.Id, rol.Name)) { usermanager.RemoveFromRole(useruario.Id, rol.Name); } if (useruario == null) { return(HttpNotFound()); } foreach (var item in useruario.Roles) { var role = rolmanager.Roles.ToList().Find(x => x.Id == item.RoleId); var roleview = new Rollview { RoleID = item.RoleId, Name = role.Name }; rolesview.Add(roleview); } var userview = new UserView { Email = useruario.Email, Name = useruario.UserName, UserID = useruario.Id, Roles = rolesview }; return(View("Roles", userview)); }
public ActionResult Roles(string userid) { var rolmanager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); var usermanager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var user = usermanager.Users.ToList(); var roles = rolmanager.Roles.ToList(); var unicouser = user.Find(x => x.Id == userid); var rolesview = new List <Rollview>(); if (String.IsNullOrEmpty(userid)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (unicouser == null) { return(HttpNotFound()); } foreach (var item in unicouser.Roles) { var role = roles.Find(x => x.Id == item.RoleId); var roleview = new Rollview { RoleID = item.RoleId, Name = role.Name }; rolesview.Add(roleview); } var userview = new UserView { Email = unicouser.Email, Name = unicouser.UserName, UserID = unicouser.Id, Roles = rolesview }; return(View(userview)); }
public ActionResult AddRole(string userid, FormCollection form) { var rolid = Request["RoleID"]; var usermanager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var user = usermanager.Users.ToList(); var rolmanager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); var unicouser = user.Find(x => x.Id == userid); var rolesview = new List <Rollview>(); if (String.IsNullOrEmpty(userid)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (unicouser == null) { return(HttpNotFound()); } var userview = new UserView { Email = unicouser.Email, Name = unicouser.UserName, UserID = unicouser.Id, Roles = rolesview }; if (String.IsNullOrEmpty(rolid)) { ViewBag.Error = "Tienes que seleccionar un rol "; var lista = rolmanager.Roles.ToList(); lista.Add(new IdentityRole { Id = "", Name = "[Seleccione un roll...]" }); lista.OrderBy(x => x.Name).ToList(); ViewBag.RoleID = new SelectList(lista, "Id", "Name"); //ViewBag.Error = "Debe seleccionar un cliente"; return(View(userview)); } var roles = rolmanager.Roles.ToList().Find(r => r.Id == rolid); if (!usermanager.IsInRole(unicouser.Id, roles.Name)) { usermanager.AddToRole(userid, roles.Name); } //var rolesview = new List<Rollview>(); if (String.IsNullOrEmpty(userid)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (unicouser == null) { return(HttpNotFound()); } foreach (var item in unicouser.Roles) { var role = rolmanager.Roles.ToList().Find(x => x.Id == item.RoleId); var roleview = new Rollview { RoleID = item.RoleId, Name = role.Name }; rolesview.Add(roleview); } var userView = new UserView { Email = unicouser.Email, Name = unicouser.UserName, UserID = unicouser.Id, Roles = rolesview }; return(View("Roles", userView)); }