예제 #1
0
        public JsonResult GetTreeviewFiles()
        {
            List <BECarpeta>        oListaCarpeta;
            List <BECarpeta>        oListaCarpetaMenus = new List <BECarpeta>();
            List <CarpetaViewModel> _ListCarpeta       = new List <CarpetaViewModel>();

            //Obtenemos el listado
            oListaCarpeta = new BLCarpeta().Listar_Carpeta();

            if (oListaCarpeta.Count > 0)
            {
                oListaCarpetaMenus = oListaCarpeta.Where(e => e.cod_carpeta_padre < 1).ToList();

                CarpetaViewModel _carpeta;

                foreach (BECarpeta item in oListaCarpetaMenus)
                {
                    _carpeta       = new CarpetaViewModel();
                    _carpeta.id    = item.cod_carpeta;
                    _carpeta.text  = " " + item.gls_ruta_carpeta;
                    _carpeta.nodes = GetAllNodosHijos(oListaCarpeta, item.cod_carpeta);
                    _ListCarpeta.Add(_carpeta);
                }
            }

            return(Json(_ListCarpeta, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        /// <summary>
        /// Obtiene todos los nodos referentes al nodo padre solicitado
        /// </summary>
        /// <param name="listado">Lista de nodos existentes</param>
        /// <param name="">id nodo padre para devolver los que le pertenecen</param>
        /// <returns>Lista de nodos hijos</returns>
        private List <CarpetaViewModel> GetAllNodosHijos(List <BECarpeta> listado, int nodoPadre)
        {
            CarpetaViewModel        nodoHijo;
            List <CarpetaViewModel> NodosHijos = new List <CarpetaViewModel>();

            foreach (BECarpeta item in listado)
            {
                if (item.cod_carpeta_padre == nodoPadre)
                {
                    nodoHijo      = new CarpetaViewModel();
                    nodoHijo.id   = item.cod_carpeta;
                    nodoHijo.text = " " + item.gls_ruta_carpeta;
                    List <CarpetaViewModel> nhijos;

                    nhijos = GetAllNodosHijos(listado, item.cod_carpeta);
                    if (nhijos.Count > 0)
                    {
                        nodoHijo.nodes = nhijos;
                    }
                    else
                    {
                        nodoHijo.nodes = null;
                    }

                    NodosHijos.Add(nodoHijo);
                }
            }

            return(NodosHijos);
        }