Files
AlquilaFacil/Entidades/Grupo.cs
2025-04-28 17:15:12 -03:00

41 lines
1.1 KiB
C#

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<Grupo> IdGrupoHijos { get; set; } = new List<Grupo>();
[JsonIgnore]
public virtual ICollection<Grupo> IdGrupoPadres { get; set; } = new List<Grupo>();
[JsonIgnore]
public virtual ICollection<Cliente> Idclientes { get; set; } = new List<Cliente>();
public virtual ICollection<Permiso> Idpermisos { get; set; } = new List<Permiso>();
public void ObtenerPermisos(HashSet<Permiso> permisos, HashSet<int> visitados)
{
if (visitados.Contains(Id)) return;
visitados.Add(Id);
var componentes = new List<IComponenteSeguridad>();
componentes.AddRange(Idpermisos);
componentes.AddRange(IdGrupoHijos);
foreach (var componente in componentes)
{
componente.ObtenerPermisos(permisos, visitados);
}
}
}