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

98 lines
4 KiB
C#

using System;
using System.IO;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses.ImportCo;
using Kreta.BusinessLogic.Helpers.ImportExport;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Enums.ManualEnums.ImportExport;
using Kreta.Resources;
using Kreta.Web.Areas.ImportExport.Models.OrarendImportExport;
using Kreta.Web.Classes;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.ImportExport.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class OrarendErvenyessegiIdovelImportExportController : BaseOrarendImportExportController
{
#region Fields
private static readonly OrarendImportFileUploadCo DefaultOrarendImportFileUploadCo = new OrarendImportFileUploadCo
{
OrarendImportTipus = (int)OrarendImportTipusEnum.ErvenyessegiIdovelImport,
IsNapirendImport = false,
WorksheetName = ImportExportOrarendResource.ImportDefaultSheetNameOrarendErvenyessegiIdovel,
ExcelHeaderList = OrarendImportExportHelper.ImportHeaderListOraErvenyessegiIdovel
};
#endregion Fields
#region Properties
public static string ConrtollerName => "OrarendErvenyessegiIdovelImportExport";
public static string DisplayName => ClaimData.IsSelectedTanev20_21OrLater ? ImportExportOrarendResource.OsszefuggoSzakmaiGyakorlatImportalasa20_21 : ImportExportOrarendResource.OsszefuggoSzakmaiGyakorlatImportalasa;
#endregion Properties
#region Constructors
public OrarendErvenyessegiIdovelImportExportController(IUploadFileValidator uploadFileValidator)
{
UploadFileValidator = uploadFileValidator ?? throw new ArgumentNullException(nameof(uploadFileValidator));
}
#endregion Constructors
public ActionResult Index()
{
OrarendImportExportModel model = GetImportExportModel();
return View(model);
}
#region Sablon
public ActionResult DownloadTemplate()
{
MemoryStream memoryStream = new OrarendImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTemplate(DefaultOrarendImportFileUploadCo, ClaimData.IsSzakkepzoIntezmeny);
return new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = ImportExportOrarendResource.ImportSablonFileNameErvenyessegiIdovel };
}
#endregion Sablon
#region Export
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public string Export(DateTime? orarendExportKezdete, DateTime? orarendExportVege, bool isIdoszakonKivuliElemekMegjelenitese, bool isEgyediNapOrainakKihagyasa)
{
string result = GetExport(DefaultOrarendImportFileUploadCo, orarendExportKezdete, orarendExportVege, isIdoszakonKivuliElemekMegjelenitese, isEgyediNapOrainakKihagyasa);
return result;
}
public string NemImportalhatoSorokExport()
{
MemoryStream memoryStream = new OrarendImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNemImportalhatoSorokExport(DefaultOrarendImportFileUploadCo);
return GetExportFileString(memoryStream);
}
#endregion Export
#region Import
public JsonResult UploadFile(HttpPostedFileBase importFile, OrarendImportExportFileUploadModel orarendImportExportFileUploadModel)
{
orarendImportExportFileUploadModel.ImportFile = importFile;
orarendImportExportFileUploadModel.OrarendImportTipus = (int)OrarendImportTipusEnum.ErvenyessegiIdovelImport;
orarendImportExportFileUploadModel.IsNapirendImport = false;
return UploadFile(orarendImportExportFileUploadModel);
}
#endregion Import
}
}