using Documents.Interfaces; using Documents.Models; using System.Reflection; using System.Text; 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 GenerateDocumentAsync(DocumentGenerationRequest request) { // 👉 Renderizar HTML usando RazorLight string html = await _templateRenderer.RenderAsync("Quotes/Template_v1.cshtml", request.Model); // 🔍 Dump HTML a archivo temporal para inspección File.WriteAllText("/app/html_debug_output.html", html, Encoding.UTF8); // 👉 Generar PDF desde el HTML return await _pdfGeneratorService.GeneratePdfFromHtmlAsync(html); } } }