Ejemplo n.º 1
0
        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()));
        }