ahora lista usando profundidad

This commit is contained in:
2025-04-25 16:23:10 -03:00
parent 190f9a8e10
commit b2f45baec7
2 changed files with 29 additions and 4 deletions

View File

@@ -68,10 +68,22 @@ public class RepositorioGrupos : RepositorioBase<RepositorioGrupos>
var grupos = con.Grupos.Include(x => x.IdGrupoHijos).ThenInclude(x => x.Idpermisos).Include(x => x.Idpermisos);
return grupos;
}
public IQueryable<Permiso> ListarPermisosDeGrupo(string grupo)
{
var con = Context; //WIP Revisar esto. revisado necesito hacer una pagina de grupo default y que los permisos resuelvan los de subgrupos
return con.Grupos.Where(x => x.Nombre == grupo).SelectMany(x => x.Idpermisos);
var listg = con.Grupos
.Include(x => x.Idpermisos)
.Include(x => x.IdGrupoHijos)
.ThenInclude(x => x.Idpermisos).ToList();
var g = listg.FirstOrDefault(x => x.Nombre == grupo);
if (g == null) return Enumerable.Empty<Permiso>().AsQueryable();
var permisos = new HashSet<Permiso>();
var visitados = new HashSet<int>();
g.ObtenerPermisos(permisos, visitados);
return permisos.AsQueryable();
}
public IQueryable<GrupoAdmin> ObtenerGruposPorDni(long Dni)