39 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|