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 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); } } }