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

39 lines
1.4 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Ellenorzo.Enums;
namespace Kreta.Ellenorzo.BL.VN.Logic
{
/// <summary>
/// Author: Kovács Kornél (DevKornél) Created On: 2019.05.
/// Felhasználói jogosultágkezelés logika
/// </summary>
internal static class FelhasznaloLogic
{
internal static bool IsJogosult(bool needExceptionJogosultsagHianyaban, IEnumerable<FelhasznaloSzerepkor> felhasznaloJogosultsagLista, params FelhasznaloSzerepkor[] szuksegesJogosultsagLista)
{
bool haveAllJogosultsag = true;
if (felhasznaloJogosultsagLista.ToList().Count > 0)
{
foreach (var szuksegesJogosultsag in szuksegesJogosultsagLista)
{
if (!felhasznaloJogosultsagLista.ToList().Contains(szuksegesJogosultsag))
{
haveAllJogosultsag = false;
}
}
}
else
{
needExceptionJogosultsagHianyaban = true;
haveAllJogosultsag = false;
}
return !haveAllJogosultsag && needExceptionJogosultsagHianyaban
? throw new BlException(BlExceptionType.NincsJogosultsag)
: haveAllJogosultsag;
}
}
}