using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Web.Mvc; using Kreta.BusinessLogic.Security; using Kreta.Resources; using Kreta.Web.Classes; using Kreta.Web.Helpers.Error; using Kreta.Web.Security; namespace Kreta.Web.Areas.ImportExport.Controllers { [MvcRoleClaimsAuthorize(true)] [MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)] public class BaseImportExportController : Controller { #region Properties public static string ImportFileName => "ImportFile"; public static string ImportForm => "ImportForm"; public static string ExportForm => "ExportForm"; public static string ImportPreviewPopupName => "ImportPreviewPopup"; public static string ImportPopupTabStripName => "ImportPopupTabStrip"; public static string OsszefoglalasGridName => "OsszefoglalasGrid"; public static string NemImportalhatoSorokGridName => "NemImportalhatoSorokGrid"; protected IUploadFileValidator UploadFileValidator { get; set; } #endregion Properties #region Sablon protected FilePathResult GetExcelTemplate(string fileName) { string filePath = Kreta.Web.Classes.Utils.GetExcelTemplateImportExportFilePath(fileName); if (filePath == null) { throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlNemLetezik); } FilePathResult result = File(filePath, Core.Constants.ContentTypes.Xlsx, fileName); return result; } #endregion Sablon #region Export public string GetExportFileString(MemoryStream memoryStream) { if (memoryStream != null) { return Convert.ToBase64String(memoryStream.ToArray()); } return ImportExportCommonResource.NincsElegendoAdatARendszerbenAzExportalashoz; } #endregion Export public JsonResult ThrowCustomError(List<string> messageList) { Response.TrySkipIisCustomErrors = true; Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(messageList); } } }