コード例 #1
0
            public async Task <TipoIncidenteVM> Handle(GetTipoIncidenteQuery request, CancellationToken cancellationToken)
            {
                TipoIncidenteVM padre           = new TipoIncidenteVM();
                var             TipoIncidenteEj = _context.TTipoIncidente.Include(i => i.Hijos);/*.AsQueryable().Distinct().OrderBy(x => x);*//*.Skip(0).Take(10);*/

                var TipoIncidentePadre = new TipoIncidenteVM();

                TipoIncidentePadre.count = 0;

                List <TUbicacion> ListJerarquia = new List <TUbicacion>();
                var cont = 0;

                foreach (var item in TipoIncidenteEj)
                {
                    cont = item.Hijos.Count;
                }

                foreach (var item in TipoIncidenteEj)
                {
                    if (item.CodPadreTipoIncidente == null)
                    {
                        TipoIncidenteNodeVM node = recursion(item);
                        TipoIncidentePadre.data.Add(node);
                        TipoIncidentePadre.count++;
                    }
                }
                return(TipoIncidentePadre);
            }
コード例 #2
0
            public TipoIncidenteNodeVM recursion(TTipoIncidente it)
            {
                var ubicacionPadre = new TipoIncidenteNodeVM();

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


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