Files
kreta/Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.BL/VN/Logic/JogosultsagLogic.cs
T
2024-03-13 00:33:46 +01:00

29 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Kreta.Ellenorzo.BL.VN.OsztalyCsoport;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport;
using Kreta.Ellenorzo.Enums;
namespace Kreta.Ellenorzo.BL.VN.Logic
{
internal static class JogosultsagLogic
{
internal static List<int> ListHozzaferhetoAlkalmazottIds(DefaultConnectionParameters dcp)
{
var response = new List<int>();
if (FelhasznaloLogic.IsJogosult(false, dcp.JogosultsagLista, FelhasznaloSzerepkor.Tanulo) ||
FelhasznaloLogic.IsJogosult(false, dcp.JogosultsagLista, FelhasznaloSzerepkor.Gondviselo))
{
var tanuloOsztalyCsoportjai = OsztalyCsoportSubqueries.ListOsztalyCsoport(dcp, new OsztalyCsoportListRequest { TanuloIds = new List<int> { dcp.TanuloId } }).ToList();
var tanuloOsztalyfonokeiIds = tanuloOsztalyCsoportjai.Where(x => x.Osztalyfonok != null).Select(x => x.Osztalyfonok.Uid.Id).ToList();
var tanuloOsztalyfonokHelyetteseiIds = tanuloOsztalyCsoportjai.Where(x => x.OsztalyfonokHelyettes != null).Select(x => x.OsztalyfonokHelyettes.Uid.Id).ToList();
response.AddRange(tanuloOsztalyfonokeiIds.Union(tanuloOsztalyfonokHelyetteseiIds));
}
return response;
}
}
}