kreta/KretaWeb/Areas/Intezmeny/Controllers/EszkozokController.cs
2024-03-13 00:33:46 +01:00

144 lines
5.7 KiB
C#

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<EszkozCsopModModel> 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<SelectListItem> GetTipusList()
{
var tipusList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozTipusEnum.na);
return tipusList;
}
private List<SelectListItem> GetKategoriaList(bool setDefaultValue = true)
{
var kategoriaList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozKategoria, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozKategoriaEnum.na);
return kategoriaList;
}
private List<SelectListItem> GetJellegList()
{
var jellegList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozJelleg, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozJellegEnum.egyedi);
return jellegList;
}
private List<SelectListItem> GetFelhasznalasList()
{
var celList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozCel, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozCelEnum.na);
return celList;
}
private List<SelectListItem> 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
}
}