phronCare/Documents/Services/DocumentTemplateService.cs

35 lines
1.2 KiB
C#
Raw Normal View History

2025-05-15 19:24:12 -03:00
using Documents.Interfaces;
using Documents.Models;
using System.Reflection;
2025-05-16 11:19:12 -03:00
using System.Text;
2025-05-15 19:24:12 -03:00
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);
2025-05-16 11:19:12 -03:00
// 🔍 Dump HTML a archivo temporal para inspección
2025-05-16 11:34:35 -03:00
File.WriteAllText("/tmp/html_debug_output.html", html, Encoding.UTF8);
2025-05-15 19:24:12 -03:00
// 👉 Generar PDF desde el HTML
return await _pdfGeneratorService.GeneratePdfFromHtmlAsync(html);
}
}
}