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 { /// /// Author: Kovács Kornél (DevKornél) Created On: 2019.05. /// Felhasználói jogosultágkezelés logika /// internal static class FelhasznaloLogic { internal static bool IsJogosult(bool needExceptionJogosultsagHianyaban, IEnumerable 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; } } }