示例#1
0
        public List <Sroles> ParsearPropiedadRoles(UsuariosSectores usSec, List <string> listaRolesString)
        {
            UsSecRepository UsSecRepo = new UsSecRepository();
            List <string>   listaRolesStringUsuarioSector = usSec.roles.Split(',').ToList();
            List <Roles>    lista_roles        = UsSecRepo.ListarTodosRoles();
            List <Sroles>   listadoSRoles      = new List <Sroles>();
            List <Sroles>   listadoSRolesFalse = new List <Sroles>();

            if (listaRolesStringUsuarioSector.Count() == 1 && listaRolesStringUsuarioSector.First() == "")
            {
                foreach (var rolGenerico in lista_roles)
                {
                    Sroles seleccionadosRoles = new Sroles();
                    seleccionadosRoles.roles           = UsSecRepo.BuscarRol(rolGenerico.rol);
                    seleccionadosRoles.RolSeleccionado = false;
                    listadoSRoles.Add(seleccionadosRoles);
                }
            }
            int i = 0;

            //Parsea la propiedad 'roles' para identificar que roles contiene el UsuarioSector dado.
            foreach (var rolesUsuarioSector in listaRolesString)
            {
                foreach (var rolStringUsuarioSector in listaRolesStringUsuarioSector)
                {
                    if (rolesUsuarioSector.Equals(rolStringUsuarioSector))
                    {
                        Sroles seleccionadosRoles = new Sroles();
                        seleccionadosRoles.roles           = UsSecRepo.BuscarRol(rolStringUsuarioSector);
                        seleccionadosRoles.RolSeleccionado = true;
                        listadoSRoles.Add(seleccionadosRoles);
                    }
                }
            }

            foreach (var rolesTotales in lista_roles)
            {
                foreach (var rolListadoSRoles in listadoSRoles)
                {
                    if (!rolesTotales.id.Equals(rolListadoSRoles.roles.id))
                    {
                        i++;
                    }
                    if (i == listadoSRoles.Count())
                    {
                        Sroles seleccionadosRoles = new Sroles();
                        seleccionadosRoles.roles           = UsSecRepo.BuscarRol(rolesTotales.rol);;
                        seleccionadosRoles.RolSeleccionado = false;
                        listadoSRolesFalse.Add(seleccionadosRoles);
                    }
                }
                i = 0;
            }

            listadoSRoles.AddRange(listadoSRolesFalse);
            listadoSRoles = listadoSRoles.OrderBy(x => x.roles.id).ToList();
            return(listadoSRoles);
        }
示例#2
0
        public ActionResult ObtenerRoles()
        {
            UtilsString   utils           = new UtilsString();
            List <Roles>  listadoDeRoles  = UsSecRepo.ListarTodosRoles();
            List <Sroles> listadoDeSRoles = new List <Sroles>();

            foreach (Roles rol in listadoDeRoles)
            {
                Sroles rolSel = new Sroles(rol, false);
                listadoDeSRoles.Add(rolSel);
            }

            return(View(listadoDeSRoles));
        }