This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,72 @@
using System;
using System.IO;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers.ImportExport;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.ImportExport.Models.OrarendImportExport;
using Kreta.Web.Classes;
using Kreta.Web.Controllers;
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 OrarendAscExcelConvertController : BaseOrarendImportExportController
{
#region Properties
public static string ConrtollerName => "OrarendAscExcelConvert";
#endregion Properties
#region Constructors
public OrarendAscExcelConvertController(IUploadFileValidator uploadFileValidator)
{
UploadFileValidator = uploadFileValidator ?? throw new ArgumentNullException(nameof(uploadFileValidator));
}
#endregion Constructors
public ActionResult Index()
{
OrarendImportExportModel model = GetImportExportModel();
return View(model);
}
public JsonResult UploadFile(HttpPostedFileBase importFile)
{
UploadFileValidator.ValidateFile(importFile, UploadFileValidator.Configuration.ImportMaxAllowedFileSizeInBytes, UploadFileValidator.Configuration.AscImportAllowedFileExtensions);
try
{
string fileName = importFile.FileName.Substring(0, importFile.FileName.LastIndexOf('.'));
MemoryStream memoryStream;
try
{
memoryStream = new AscImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ConvertAscXmlToExcel(importFile.InputStream);
}
catch (BlException e)
{
return Json(new { ErrorString = e.Message });
}
Guid guid = Cache.Add(memoryStream);
string fileString = Url.Action(nameof(CacheController.DownloadFile), nameof(CacheController).Replace("Controller", ""), new { guid, fileName = $"{fileName}.xlsx", contentType = Core.Constants.ContentTypes.Xlsx, area = "" });
return Json(new { FileString = fileString });
}
catch
{
return Json(new { ErrorString = ErrorResource.HibaTortentAFajlFeltolteseKozben });
}
}
}
}