98 lines
4 KiB
C#
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
|
|
}
|
|
}
|