public ActionResult ListarPerfiles(int id, string grupo) { var modulosAsignados = new List <ModuloPerfilViewModel>(); var modulosSinAsignar = new List <TbSeModulo>(); var grupos = new List <string>(); if (id != 0) { var perfil = perfilService.GetSinglePerfil(id); var allModulos = moduloService.GetAll(); var modulosPerfil = moduloPerfilService.GetAllByPerfil(); foreach (var item in modulosPerfil) { if (item.IdPerfil == id) { if (grupo != "todos" && grupo != null) { if (item.Grupo == grupo) { modulosAsignados.Add(item); } } else { modulosAsignados.Add(item); } } } var flag = true; foreach (var i in allModulos) { grupos.Add(i.Grupos); foreach (var item in modulosAsignados) { if (i.Id == item.IdModulo) { flag = false; break; } else { flag = true; } } if (flag) { if (grupo != "todos" && grupo != null) { if (i.Grupos == grupo) { modulosSinAsignar.Add(i); } } else { modulosSinAsignar.Add(i); } } } } ViewBag.id = id; if (grupo == null || grupo == "") { ViewBag.grupo = ""; } else { ViewBag.grupo = grupo; } ViewData["ModulosAsignados"] = modulosAsignados; ViewData["ModulosSinAsignar"] = modulosSinAsignar; ViewData["Grupos"] = grupos; return(View(perfilService.GetAll())); }