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 } }