예제 #1
0
        protected override void OnInit(EventArgs e)
        {
            TemplateNode template = new TemplateNode();

            template.eventoAgregar  = linkRegistrarPaginaModulo_Click;
            template.eventoDetalles = linkDetalleModuloItem_Click;
            template.eventoEditar   = linkEditarModuloItem_Click;
            template.eventoEliminar = linkEliminarModuloItem_Click;

            rtvModulos.NodeTemplate = template;
            base.OnInit(e);
        }
예제 #2
0
        private void AgregarNodosHijos(RadTreeNode nodoPadre, List <E.VMItemModulo> modulosNodo, int nivel, List <E.VMItemModulo> itemsDisponibles)
        {
            foreach (E.VMItemModulo item in modulosNodo)
            {
                RadTreeNode rtnActual = null;
                if (nivel == 0 && item.IdItemPadre == 0)
                {
                    rtnActual = new RadTreeNode(item.Descripcion, item.IdItemModulo.ToString());
                }
                else if (nivel > 0)
                {
                    rtnActual = new RadTreeNode(item.Descripcion, item.IdItemModulo.ToString());
                }
                if (rtnActual != null)
                {
                    rtnActual.Category = "ITEM";
                    TemplateNode template = new TemplateNode();
                    template.eventoAgregar  = linkRegistrarPaginaModulo_Click;
                    template.eventoDetalles = linkDetalleModuloItem_Click;
                    template.eventoEditar   = linkEditarModuloItem_Click;
                    template.eventoEliminar = linkEliminarModuloItem_Click;
                    rtnActual.NodeTemplate  = template;
                    nodoPadre.Nodes.Add(rtnActual);
                    //indica si esta asigando
                    //if (itemsAsignados.Where(x => x.IdItemModulo == Convert.ToInt32(rtnActual.Value)).FirstOrDefault() != null)
                    //{
                    //    rtnActual.Checked = true;
                    //}
                }

                List <E.VMItemModulo> nodosHijos = (from x in itemsDisponibles
                                                    where x.IdItemPadre == item.IdItemModulo
                                                    select x).ToList();

                AgregarNodosHijos(rtnActual, nodosHijos, ++nivel, itemsDisponibles);
            }
        }
예제 #3
0
        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();
        }