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 NapirendErvenyessegiIdovelImportExportController : BaseOrarendImportExportController { #region Fields private static readonly OrarendImportFileUploadCo DefaultOrarendImportFileUploadCo = new OrarendImportFileUploadCo { OrarendImportTipus = (int)OrarendImportTipusEnum.ErvenyessegiIdovelImport, IsNapirendImport = true, WorksheetName = ImportExportOrarendResource.ImportDefaultSheetNameNapirendErvenyessegiIdovel, ExcelHeaderList = OrarendImportExportHelper.ImportHeaderListNapirendOraErvenyessegiIdovel }; #endregion Fields #region Properties public static string ConrtollerName => "NapirendErvenyessegiIdovelImportExport"; public static string DisplayName => ClaimData.IsSelectedTanev20_21OrLater ? ImportExportOrarendResource.OsszefuggoSzakmaiGyakorlatImportalasa20_21 : ImportExportOrarendResource.OsszefuggoSzakmaiGyakorlatImportalasa; #endregion Properties #region Constructors public NapirendErvenyessegiIdovelImportExportController(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.ImportSablonFileNameNapirendErvenyessegiIdovel }; } #endregion Sablon #region Export [HttpPost] [MvcValidateAjaxAntiForgeryToken] public string Export(DateTime? orarendExportKezdete, DateTime? orarendExportVege, bool isIdoszakonKivuliElemekMegjelenitese) { string result = GetExport(DefaultOrarendImportFileUploadCo, orarendExportKezdete, orarendExportVege, isIdoszakonKivuliElemekMegjelenitese, false); 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 = true; return UploadFile(orarendImportExportFileUploadModel); } #endregion Import } }