27 lines
770 B
C#
27 lines
770 B
C#
|
|
using Kurs.MailQueue.MailGeneration.Models;
|
|||
|
|
using Volo.Abp.DependencyInjection;
|
|||
|
|
using Volo.Abp.TextTemplating;
|
|||
|
|
using Wkhtmltopdf.NetCore;
|
|||
|
|
|
|||
|
|
namespace Kurs.MailQueue.FileGeneration;
|
|||
|
|
|
|||
|
|
public class PDFFileGenerator : IFileGenerator, ITransientDependency
|
|||
|
|
{
|
|||
|
|
private readonly IGeneratePdf pdfGenerator;
|
|||
|
|
private readonly ITemplateRenderer templateRenderer;
|
|||
|
|
|
|||
|
|
public PDFFileGenerator(
|
|||
|
|
IGeneratePdf pdfGenerator,
|
|||
|
|
ITemplateRenderer templateRenderer)
|
|||
|
|
{
|
|||
|
|
this.pdfGenerator = pdfGenerator;
|
|||
|
|
this.templateRenderer = templateRenderer;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public async Task<byte[]> Generate(MailTemplateTableModel table)
|
|||
|
|
{
|
|||
|
|
var html = await templateRenderer.RenderAsync("Table", table);
|
|||
|
|
return pdfGenerator.GetPDF(html);
|
|||
|
|
}
|
|||
|
|
}
|