using System; using System.Collections.Generic; using System.Text.Json.Serialization; namespace Entidades; public partial class Grupo : IComponenteSeguridad { public int Id { get; set; } public string Nombre { get; set; } = null!; public bool? Habilitado { get; set; } [JsonIgnore] public virtual ICollection IdGrupoHijos { get; set; } = new List(); [JsonIgnore] public virtual ICollection IdGrupoPadres { get; set; } = new List(); [JsonIgnore] public virtual ICollection Idclientes { get; set; } = new List(); public virtual ICollection Idpermisos { get; set; } = new List(); public void ObtenerPermisos(HashSet permisos, HashSet visitados) { if (visitados.Contains(Id)) return; visitados.Add(Id); if (this.Habilitado == false) return; var componentes = new List(); componentes.AddRange(Idpermisos); componentes.AddRange(IdGrupoHijos); foreach (var componente in componentes) { componente.ObtenerPermisos(permisos, visitados); } } }