using System.Linq; using System.Web.Mvc; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Web.Areas.Hianyzas.Models; using Kreta.Web.Helpers; using Kreta.Web.Security; namespace Kreta.Web.Areas.Hianyzas.Controllers { [MvcRoleClaimsAuthorize(true)] [MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)] [MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)] [Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")] public class DualisIgazolasController : BaseIgazolasController { private IKretaAuthorization Authorization { get; } public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled); public DualisIgazolasController(IKretaAuthorization authorization) { Authorization = authorization; } public ActionResult Index() { if (!Authorization.IsValidDualisMulasztasok()) { return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty })); } var model = new IgazolasKeresoModel(); var osztalyokEsCsoportok = OsztalyokEsCsoportokHelpers.GetOsztalyokVagyOsztalyokEsCsoportok(ClaimData.FelhasznaloId, osztalyfonokiFeladat: true); if (osztalyokEsCsoportok.Count == 1) { model.OsztCsopId = int.Parse(osztalyokEsCsoportok.First().Key); } else if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo)) { model.OsztCsopId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId); } model.SzervezetTipusId = (int)SzervezetTipusEnum.Dualis; model.ControllerName = Constants.Controllers.DualisIgazolas; model.ApiControllerName = Constants.ApiControllers.DualisIgazolasokApi; //model.IgazolasNaplozarasDatum = new SystemSettingsHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIgazolasokNaplozarasDatuma(); return View("~/Areas/Hianyzas/Views/Igazolas/Index.cshtml", model); } } }