private void generarArbolDeNavegacion() { int usuarioId = SesionActual.Instance.UsuarioId; string appId = "WebV2"; ManejadorDeMiembros manejador = new ManejadorDeMiembros(); List <PantallaPermitida> pantallasPermitidasPorRoles = manejador.ObtenerPantallasPermitidasPorMiembro(usuarioId, appId); Dictionary <string, Ext.Net.TreeNode> nodos = new Dictionary <string, Ext.Net.TreeNode>(); Ext.Net.TreeNode navegacion = new Ext.Net.TreeNode("Navegación"); Ext.Net.TreeNode nodoCategoria = new Ext.Net.TreeNode(); Ext.Net.TreeNode nodoPantalla; string categoria; string categoriaKey; string[] subcategorias; foreach (PantallaPermitida p in pantallasPermitidasPorRoles) { if (p.Categoria.Trim().Length > 0) { subcategorias = p.Categoria.Split('/'); for (int i = 0; i < subcategorias.Length; i++) { categoria = subcategorias[i]; categoriaKey = string.Join("/", subcategorias, 0, i + 1); if (nodos.ContainsKey(categoriaKey)) { nodoCategoria = nodos[categoriaKey]; } else { nodoCategoria = new Ext.Net.TreeNode(categoria); nodoCategoria.Href = "javascript:void(0);"; nodos[categoriaKey] = nodoCategoria; if (i == 0) { navegacion.Nodes.Add(nodoCategoria); } else { nodos[string.Join("/", subcategorias, 0, i)].Nodes.Add(nodoCategoria); } } } nodoPantalla = new Ext.Net.TreeNode(p.Nombre); nodoPantalla.Href = "javascript:void(0);"; nodoPantalla.Listeners.Click.Handler = string.Format("cargarPantalla('{0}','{1}');", p.Nombre, ResolveUrl("~/Paginas/" + p.Categoria + "/" + p.Nombre_Tecnico)); nodoCategoria.Nodes.Add(nodoPantalla); } } pnlPantallas.Root.Clear(); pnlPantallas.Root.Add(navegacion); }
// // GET: /Home/ public ActionResult Index() { ManejadorDeMiembros manejador = new ManejadorDeMiembros(); return(View(manejador.ObtenerPantallasPermitidasPorMiembro(SesionActual.Instance.UsuarioId, "WebMobileV2"))); }