Exemple #1
0
        public async Task <ActionResult> AsignarRoles(web.ViewModels.RolesUsuarioVM rolUsuario)
        {
            var User  = rolUsuario.UsuarioV;
            var Roles = rolUsuario;
            //var lista1 = rolUsuario.RolDisp.ToList();

            int i = 0;

            foreach (var row in rolUsuario.RolDisp)
            {
                rolUsuario.RolSelect.Add(rolUsuario.RolDisp[i]);
                await UserManager.RemoveFromRoleAsync(User.Id, row.Nombre);

                i++;
            }

            i = 0;
            foreach (var row in rolUsuario.RolSelect)
            {
                if (row.Selected == true)
                {
                    await UserManager.AddToRoleAsync(User.Id, row.Nombre);
                }
                i++;
            }

            return(RedirectToAction("Index"));
        }
Exemple #2
0
        //Métodos para asignar n roles al usuario
        public async Task <ActionResult> AsignarRoles(string id)
        {
            if (id == "")
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var user = await UserManager.FindByIdAsync(id);

            web.ViewModels.RolesUsuarioVM model = new web.ViewModels.RolesUsuarioVM();
            model.UsuarioV = user;

            //Obtengo listado de accesos
            var lista = (from a in RoleManager.Roles
                         select new web.ViewModels.RolesUsuarioVM.RolesVMList()
            {
                Id = a.Id,
                Nombre = a.Name,
                Selected = false
            }).ToList();

            //Obtengo listado de accesos asignados al rol
            Models.ApplicationDbContext context = new ApplicationDbContext();
            ApplicationUser             au      = context.Users.First(u => u.Id == id);

            //web.ViewModels.RolesUsuarioVM list = new web.ViewModels.RolesUsuarioVM();

            foreach (IdentityUserRole role in au.Roles)
            {
                string RolId   = role.RoleId;
                string RolName = context.Roles.First(r => r.Id == role.RoleId).Name;
                bool   Select  = true;
                model.RolSelect.Add(new web.ViewModels.RolesUsuarioVM.RolesVMList()
                {
                    Id = RolId, Nombre = RolName, Selected = Select
                });
            }

            var objetosAComparar = from item in model.RolSelect select item.Id;

            foreach (var item in lista)
            {
                if (objetosAComparar.Contains(item.Id))
                {
                    item.Selected = true;
                }
            }

            model.RolDisp = lista.OrderByDescending(o => o.Selected).ToList();
            //model.AccesosSelect = lista2;

            return(View(model));
        }