using System; using System.Collections.Generic; using System.Web.Http; using System.Web.Mvc; using Kreta.BusinessLogic.Helpers.ImportExport; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework.Util; using Kreta.Resources; using Kreta.Web.Areas.Intezmeny.ApiControllers; using Kreta.Web.Areas.Intezmeny.Models; using Kreta.Web.Helpers; using Kreta.Web.Models.EditorTemplates; using Kreta.Web.Security; namespace Kreta.Web.Areas.Intezmeny.Controllers { [MvcRoleClaimsAuthorize(true)] [MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)] [MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)] public class EszkozokController : Controller { public ActionResult Index() { var model = new EszkozSearchModel { IsEszkozKezelesEnabled = ClaimData.EszkozKezelesEnabled, }; return View("Index", model); } public ActionResult OpenEszkozProperties(int eszkozID) { EszkozokApiController api = new EszkozokApiController(); EszkozModel emodel = api.GetEszkozProperties(eszkozID); PopUpModel pm = new PopUpModel(emodel, "EszkozProperties_Info"); pm = pm.AddCancelBtn(pm, "EszkozHelper.propertiesCancel"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenEszkozModifyAdd(int? eszkozID) { if (!ClaimData.EszkozKezelesEnabled) { return new RedirectResult("/"); } EszkozokApiController api = new EszkozokApiController(); EszkozModel emodel; if (eszkozID.HasValue) { emodel = api.GetEszkozProperties(eszkozID.Value); } else { emodel = new EszkozModel() { Darabszam = 1 }; } emodel.TipusList = GetTipusList(); emodel.KategoriaList = GetKategoriaList(); emodel.JellegList = GetJellegList(); emodel.CeljaList = GetFelhasznalasList(); emodel.MertekegysegList = GetMertekegysegList(); PopUpModel pm = new PopUpModel(emodel, "EszkozModifyAdd_Bevitel"); pm = pm.AddCancelBtn(pm, "EszkozHelper.modifyAddCancel"); pm = pm.AddOkBtn(pm, "EszkozHelper.modifyAddSave"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenEszkozCsopModify(List lista) { if (!ClaimData.EszkozKezelesEnabled) { return new RedirectResult("/"); } EszkozokApiController api = new EszkozokApiController(); EszkozCsopModModel model = new EszkozCsopModModel(); if (lista.Count == 1) { model = api.GetCsopEszkozProperties(lista[0].EszkozId.Value); } else { foreach (var item in lista) { model.EszkozIdArray += item.EszkozId.ToString() + ","; model.EszkozNevArray += item.EszkozNev + ", "; } } PopUpModel pm = new PopUpModel(model, "EszkozModify_Csop"); pm = pm.AddCancelBtn(pm, "EszkozHelper.modifyCsopCancel"); pm = pm.AddOkBtn(pm, "EszkozHelper.confirmCsopModWindow"); return PartialView(Constants.General.PopupView, pm); } private List GetTipusList() { var tipusList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozTipusEnum.na); return tipusList; } private List GetKategoriaList(bool setDefaultValue = true) { var kategoriaList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozKategoria, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozKategoriaEnum.na); return kategoriaList; } private List GetJellegList() { var jellegList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozJelleg, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozJellegEnum.egyedi); return jellegList; } private List GetFelhasznalasList() { var celList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozCel, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozCelEnum.na); return celList; } private List GetMertekegysegList() { var mertekegysegList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.MertekegysegTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)MertekegysegTipusEnum.darab); return mertekegysegList; } #region Export public ActionResult ExportEszkozok([FromUri] EszkozSearchModel data) { var stream = new EszkozImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozKeresesExport(data.ConvertToCo(ClaimData.SelectedTanevID.Value)); var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = IntezmenyResource.Eszkozok_Export + "_" + DateTime.Now.ToString("yyyy_MM_dd") + ".xlsx" }; return result; } #endregion Export } }