Files
AlquilaFacil/Entidades/Grupo.cs
2025-03-05 19:12:02 -03:00

38 lines
1.0 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!;
[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);
foreach (var permiso in Idpermisos) {
permisos.Add(permiso);
}
foreach (var subgrupo in IdGrupoPadres) {
subgrupo.ObtenerPermisos(permisos, visitados);
}
}
}