All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 9m29s
33 lines
1023 B
C#
33 lines
1023 B
C#
using Documents.Interfaces;
|
|
using Documents.Models;
|
|
using System.Reflection;
|
|
using Transversal.Interfaces;
|
|
|
|
namespace Documents.Services
|
|
{
|
|
public class DocumentTemplateService : IDocumentTemplateService
|
|
{
|
|
private readonly ITemplateRenderer _templateRenderer;
|
|
private readonly IPdfGeneratorService _pdfGeneratorService;
|
|
|
|
public DocumentTemplateService(
|
|
ITemplateRenderer templateRenderer,
|
|
IPdfGeneratorService pdfGeneratorService)
|
|
{
|
|
_templateRenderer = templateRenderer;
|
|
_pdfGeneratorService = pdfGeneratorService;
|
|
}
|
|
|
|
public async Task<byte[]> GenerateDocumentAsync(DocumentGenerationRequest request)
|
|
{
|
|
// 👉 Renderizar HTML usando RazorLight
|
|
string html = await _templateRenderer.RenderAsync("Quotes/Template_v1.cshtml", request.Model);
|
|
|
|
|
|
// 👉 Generar PDF desde el HTML
|
|
return await _pdfGeneratorService.GeneratePdfFromHtmlAsync(html);
|
|
}
|
|
|
|
}
|
|
}
|