コード例 #1
0
            public async Task <ModuloVM> Handle(GetModuloQuery request, CancellationToken cancellationToken)
            {
                var ModuloEj = _context.TModulo.Include(i => i.Hijos);/*.AsQueryable().Distinct().OrderBy(x => x);*//*.Skip(0).Take(10);*/

                var ModuloPadre = new ModuloVM();

                ModuloPadre.count = 0;

                List <TModulo> ListJerarquia = new List <TModulo>();
                int            cont          = 0;

                foreach (var ubi in ModuloEj)
                {
                    cont += ubi.Hijos.Count();
                }

                foreach (var item in ModuloEj)
                {
                    if (item.CodModuloPadre == null)
                    {
                        ModuloNodeVM node = recursion(item);
                        ModuloPadre.data.Add(node);
                        ModuloPadre.count++;
                    }
                }
                return(ModuloPadre);
            }
コード例 #2
0
            public ModuloNodeVM recursion(TModulo it)
            {
                var ModuloPadre = new ModuloNodeVM();

                ModuloPadre.data  = it.CodModulo;
                ModuloPadre.label = it.Descripcion;
                if (it.Hijos.Count == 0)
                {
                    return(ModuloPadre);
                }


                if (it.Hijos.Count > 0)
                {
                    foreach (var hijos in it.Hijos)
                    {
                        ModuloPadre.children.Add(recursion(hijos));
                    }
                }
                return(ModuloPadre);
            }