40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using System.IO;
|
|
using System.Web.Mvc;
|
|
using ICSharpCode.SharpZipLib.Zip;
|
|
using Kreta.Enums.ManualEnums;
|
|
|
|
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
|
|
{
|
|
public abstract class BaseNyomtatvanyokController : Controller
|
|
{
|
|
protected void AddZipEntry(ZipOutputStream zipOutput, Stream fileContent, string nyomtatvanyNeve, int? formatumId = null)
|
|
{
|
|
var buffer = new byte[Constants.General.BufferSize];
|
|
var entry = new ZipEntry(formatumId.HasValue ? $"{nyomtatvanyNeve}.{GetNyomtatvanyFileFormat(formatumId.Value)}" : nyomtatvanyNeve);
|
|
zipOutput.PutNextEntry(entry);
|
|
|
|
int sourceBytes;
|
|
do
|
|
{
|
|
sourceBytes = fileContent.Read(buffer, 0, buffer.Length);
|
|
zipOutput.Write(buffer, 0, sourceBytes);
|
|
} while (sourceBytes > 0);
|
|
}
|
|
|
|
protected string GetNyomtatvanyFileFormat(int formatumId)
|
|
{
|
|
switch (formatumId)
|
|
{
|
|
case (int)NyomtatvanyFormatumEnum.Word:
|
|
return Constants.ImportExport.FileFormatWord;
|
|
case (int)NyomtatvanyFormatumEnum.PDF:
|
|
return Constants.ImportExport.FileFormatPdf;
|
|
case (int)NyomtatvanyFormatumEnum.Excel:
|
|
return Constants.ImportExport.FileFormatXlsx;
|
|
default:
|
|
return Constants.ImportExport.FileFormatPdf;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|