144 lines
5.7 KiB
C#
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
|
|
}
|
|
}
|