private void CargarArbolSistema(int idSistema) { NegocioAdmin negAdmin = new NegocioAdmin(sistema.USR_LOGIN, sistema.PASS); rtvModulos.Nodes.Clear(); E.VMSistema sis = negAdmin.ObtenerInformacionSistemas(idSistema); List <E.VMModulo> modulos = negAdmin.ObtenerModulosSistema(idSistema, null);//todos /*LIST_ITEMS = null; * * * * List<E.VMItemModulo> items = LIST_ITEMS; * var sistem = (from x in items * group x by x.IdSistema into g * select new * { * IdSistema = g.Key, * item = g.ToList() * } * ).ToList();*/ //Agrega sistemas RadTreeNode nodeSistema = new RadTreeNode(sis.NombreSistema, sis.IdSistema.ToString()); nodeSistema.Category = "SISTEMA"; /* var modulos = (from x in sistem[i].item * group x by x.IdModulo into g * select new * { * IdModulo = g.Key, * item = g.ToList() * } * ).ToList();*/ //Agregar modulos de sistema for (int j = 0; j < modulos.Count; j++) { /*List<E.VMItemModulo> itemsAsignados = new NegocioAdmin(sistema.USR_LOGIN, sistema.PASS).ObtenerItemsRolAsignados( * Convert.ToInt32(hidIdRolPermisos.Value));*/ RadTreeNode nodeModulo = new RadTreeNode(modulos[j].Nombre /*modulos[j].item[0].Modulo*/, modulos[j].IdModulo.ToString() /* modulos[j].IdModulo.ToString()*/); nodeModulo.Category = "MODULO"; TemplateNode template = new TemplateNode(); template.eventoAgregar = linkRegistrarPaginaModulo_Click; template.eventoDetalles = linkDetalleModuloItem_Click; template.eventoEditar = linkEditarModuloItem_Click; template.eventoEliminar = linkEliminarModuloItem_Click; nodeModulo.NodeTemplate = template; if (modulos[j].Items != null) { List <E.VMItemModulo> nodosHijos = (from x in modulos[j].Items where x.IdItemPadre == 0 select x).ToList(); AgregarNodosHijos(nodeModulo, nodosHijos , 0, modulos[j].Items.ToList()); nodeSistema.Nodes.Add(nodeModulo); } } rtvModulos.Nodes.Add(nodeSistema); rtvModulos.DataBind(); rtvModulos.ExpandAllNodes(); }