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,57 @@
using System;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Helpers;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Adatszolgaltatasok.Logic
{
public static class ItmAdatszolgaltatasLogic
{
public static FileStreamResult EllenorzoTablazatLetoltese()
{
var memoryStreamList = new ItmAdatszolgaltatasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IntezmenyAdatok();
var fajlNev = $"{ ClaimData.IntezmenyAzonosito }_{ AdatszolgaltatasokResource.ItmAdatszolgaltatasExcelExportFajlNev}_{ DateTime.Now.ToString("yyyyMMddHHmm")}";
if (memoryStreamList.Count == 1)
{
return new FileStreamResult(memoryStreamList.FirstOrDefault(), Constants.ImportExport.FileFormatXlsx)
{
FileDownloadName = $"{fajlNev}.{Constants.ImportExport.FileFormatXlsx}"
};
}
else
{
var outputStream = new MemoryStream();
var zipOutputStream = new ZipOutputStream(outputStream);
var buffer = new byte[4096];
for (int i = 0; i < memoryStreamList.Count; i++)
{
var entry = new ZipEntry($"{fajlNev}_{i}.{Constants.ImportExport.FileFormatXlsx}");
zipOutputStream.PutNextEntry(entry);
int sourceBytes;
do
{
sourceBytes = memoryStreamList[i].Read(buffer, 0, buffer.Length);
zipOutputStream.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
zipOutputStream.Finish();
outputStream.Position = 0;
return new FileStreamResult(outputStream, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{fajlNev}.{Constants.ImportExport.FileFormatZip}"
};
}
}
}
}