From bee1cfb0e36c87ff9e8260ef75e9f99f224d051e Mon Sep 17 00:00:00 2001 From: sanchezvem Date: Wed, 3 Dec 2025 17:00:02 +0100 Subject: [PATCH] added PDF generation for quotation --- .../Quotation/Request/GetQuotationPdfDto.cs | 6 + .../Quotations/GetQuotationPdfEndpoint.cs | 41 +++++ PyroFetes/Program.cs | 7 + PyroFetes/PyroFetes.csproj | 14 ++ PyroFetes/Services/Pdf/QuotationPdfService.cs | 143 ++++++++++++++++++ .../GetQuotationByIdWithProductsSpec.cs | 15 ++ PyroFetes/wwwroot/Images/logo.jpg | Bin 0 -> 47397 bytes PyroFetes/wwwroot/Images/signature.png | Bin 0 -> 10292 bytes 8 files changed, 226 insertions(+) create mode 100644 PyroFetes/DTO/Quotation/Request/GetQuotationPdfDto.cs create mode 100644 PyroFetes/Endpoints/Quotations/GetQuotationPdfEndpoint.cs create mode 100644 PyroFetes/Services/Pdf/QuotationPdfService.cs create mode 100644 PyroFetes/Specifications/Quotations/GetQuotationByIdWithProductsSpec.cs create mode 100644 PyroFetes/wwwroot/Images/logo.jpg create mode 100644 PyroFetes/wwwroot/Images/signature.png diff --git a/PyroFetes/DTO/Quotation/Request/GetQuotationPdfDto.cs b/PyroFetes/DTO/Quotation/Request/GetQuotationPdfDto.cs new file mode 100644 index 0000000..0c74cd7 --- /dev/null +++ b/PyroFetes/DTO/Quotation/Request/GetQuotationPdfDto.cs @@ -0,0 +1,6 @@ +namespace PyroFetes.DTO.Quotation.Request; + +public class GetQuotationPdfDto +{ + public int Id { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Endpoints/Quotations/GetQuotationPdfEndpoint.cs b/PyroFetes/Endpoints/Quotations/GetQuotationPdfEndpoint.cs new file mode 100644 index 0000000..d0d015a --- /dev/null +++ b/PyroFetes/Endpoints/Quotations/GetQuotationPdfEndpoint.cs @@ -0,0 +1,41 @@ +using FastEndpoints; +using PyroFetes.DTO.Quotation.Request; +using PyroFetes.Models; +using PyroFetes.Repositories; +using PyroFetes.Services.Pdf; +using PyroFetes.Specifications.Quotations; + +namespace PyroFetes.Endpoints.Quotations; + +public class GetQuotationPdfEndpoint( + QuotationsRepository quotationRepository, + QuotationProductsRepository quotationProductRepository, + IQuotationPdfService quotationPdfService) + : Endpoint +{ + public override void Configure() + { + Get("/quotations/{@Id}/pdf", x => new {x.Id}); + AllowAnonymous(); + } + + public override async Task HandleAsync(GetQuotationPdfDto req, CancellationToken ct) + { + Quotation? quotation = await quotationRepository + .FirstOrDefaultAsync(new GetQuotationByIdWithProductsSpec(req.Id), ct); + + if (quotation == null) + { + await Send.NotFoundAsync(ct); + return; + } + + var bytes = quotationPdfService.Generate(quotation, quotation.QuotationProducts!); + + await Send.BytesAsync( + bytes: bytes, + contentType: "application/pdf", + fileName: $"devis-{quotation.Id}.pdf", + cancellation: ct); + } +} \ No newline at end of file diff --git a/PyroFetes/Program.cs b/PyroFetes/Program.cs index e1a719b..9e62ec9 100644 --- a/PyroFetes/Program.cs +++ b/PyroFetes/Program.cs @@ -6,9 +6,14 @@ using FastEndpoints.Swagger; using FastEndpoints.Security; using PyroFetes.MappingProfiles; using PyroFetes.Repositories; +using PyroFetes.Services.Pdf; +using QuestPDF.Infrastructure; WebApplicationBuilder builder = WebApplication.CreateBuilder(args); +// Configurer la licence QuestPDF +QuestPDF.Settings.License = LicenseType.Community; + // On ajoute ici FastEndpoints, un framework REPR et Swagger aux services disponibles dans le projet builder.Services .AddAuthenticationJwtBearer(s => s.SigningKey = "ThisIsASuperSecretJwtKeyThatIsAtLeast32CharsLong") @@ -46,6 +51,8 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); + MapperConfiguration mappingConfig = new(mc => { mc.AddCollectionMappers(); diff --git a/PyroFetes/PyroFetes.csproj b/PyroFetes/PyroFetes.csproj index cd211f5..3e77db0 100644 --- a/PyroFetes/PyroFetes.csproj +++ b/PyroFetes/PyroFetes.csproj @@ -23,7 +23,21 @@ + + + <_ContentIncludedByDefault Remove="wwwroot\Images\logo.jpg" /> + + + + + PreserveNewest + + + PreserveNewest + + + diff --git a/PyroFetes/Services/Pdf/QuotationPdfService.cs b/PyroFetes/Services/Pdf/QuotationPdfService.cs new file mode 100644 index 0000000..4e3591d --- /dev/null +++ b/PyroFetes/Services/Pdf/QuotationPdfService.cs @@ -0,0 +1,143 @@ +using PyroFetes.Models; +using QuestPDF.Fluent; +using QuestPDF.Helpers; +using QuestPDF.Infrastructure; + +namespace PyroFetes.Services.Pdf; + +public interface IQuotationPdfService +{ + byte[] Generate(Quotation quotation, List lignes); +} + +public class QuotationPdfService : IQuotationPdfService +{ + public byte[] Generate(Quotation quotation, List lignes) + { + var logoPath = Path.Combine(AppContext.BaseDirectory, "wwwroot", "Images", "logo.jpg"); + var signaturePath = Path.Combine(AppContext.BaseDirectory, "wwwroot", "Images", "signature.png"); + int total = 0; + var document = Document.Create(container => + { + container.Page(page => + { + page.Size(PageSizes.A4); + page.Margin(30); + page.DefaultTextStyle(x => x.FontSize(11)); + + page.Header().Row(row => + { + // Client à gauche + row.RelativeItem().Column(col => + { + col.Item().Text(""); + col.Item().Text(""); + col.Item().Text(""); + col.Item().Text(""); + col.Item().Text("Client").SemiBold().FontSize(12); + col.Item().Text($"{quotation.Customer}"); + }); + + // Logo + société à droite + row.ConstantItem(200).Column(col => + { + col.Item().AlignRight().Height(70).Image(logoPath, ImageScaling.FitArea); + col.Item().Height(20); + col.Item().AlignRight().Text("Pyro-Fêtes").SemiBold(); + col.Item().Height(5); + col.Item().AlignRight().Text("24, rue La Fosse Mardeau\n41700 Le Controis-en-Sologne"); + col.Item().Height(5); + col.Item().AlignRight().Text("Téléphone: 02 54 78 77 66"); + col.Item().Height(5); + col.Item().AlignRight().Text("SIRET: 82031463100012"); + col.Item().Height(40); + }); + }); + + page.Content().Column(col => + { + // Titre + date + col.Item().Row(row => + { + row.RelativeItem().Text($"Devis n° {quotation.Id}") + .FontSize(16).SemiBold(); + + row.ConstantItem(200).AlignRight().Text( + $"Le {DateTime.Now:dd/MM/yyyy}"); + }); + col.Item().Height(20); + + col.Item().LineHorizontal(1); + + // Tableau des lignes + col.Item().Table(table => + { + table.ColumnsDefinition(columns => + { + columns.RelativeColumn(4); // Produit + columns.RelativeColumn(1); // Qté + columns.RelativeColumn(2); // PU + columns.RelativeColumn(2); // Total + }); + + // En-têtes + table.Header(header => + { + header.Cell().Element(CellHeader).Text("Produit"); + header.Cell().Element(CellHeader).AlignRight().Text("Qté"); + header.Cell().Element(CellHeader).AlignRight().Text("PU"); + header.Cell().Element(CellHeader).AlignRight().Text("Total"); + }); + + foreach (var l in lignes) + { + table.Cell().Element(CellBody).Text(l.Product?.Name); + table.Cell().Element(CellBody).AlignRight().Text(l.Quantity.ToString()); + table.Cell().Element(CellBody).AlignRight().Text($"{l.Quantity:n2} €"); + table.Cell().Element(CellBody).AlignRight().Text($"{l.Quantity * l.Quantity:n2} €"); + + total = total + l.Quantity * l.Quantity; + } + + IContainer CellHeader(IContainer c) => + c.BorderBottom(1).PaddingVertical(5).DefaultTextStyle(x => x.SemiBold()); + + IContainer CellBody(IContainer c) => + c.PaddingVertical(2); + }); + + col.Item().LineHorizontal(1); + col.Item().Height(30); + + col.Item().Row(row => + { + // Colonne gauche : conditions de vente + row.RelativeItem().Column(left => + { + left.Item().Text("Conditions de vente") + .SemiBold().FontSize(12); + left.Item().Text(quotation.ConditionsSale) + .FontSize(9); + }); + + // Colonne droite : totaux + row.ConstantItem(180).Column(right => + { + right.Item().AlignRight().Text($"Total HT : {total:n2} €"); + right.Item().AlignRight().Text("Taxe : 20 %"); + right.Item().AlignRight().Text($"Total TTC : {(total * 1.2):n2} €"); + }); + }); + }); + + // Signature en bas à droite + page.Footer().AlignRight().Column(col => + { + col.Item().AlignRight().Height(100).Image(signaturePath, ImageScaling.FitArea); + }); + }); + }); + + return document.GeneratePdf(); + } +} diff --git a/PyroFetes/Specifications/Quotations/GetQuotationByIdWithProductsSpec.cs b/PyroFetes/Specifications/Quotations/GetQuotationByIdWithProductsSpec.cs new file mode 100644 index 0000000..3e8d724 --- /dev/null +++ b/PyroFetes/Specifications/Quotations/GetQuotationByIdWithProductsSpec.cs @@ -0,0 +1,15 @@ +using Ardalis.Specification; +using PyroFetes.Models; + +namespace PyroFetes.Specifications.Quotations; + +public class GetQuotationByIdWithProductsSpec : Specification +{ + public GetQuotationByIdWithProductsSpec(int quotationId) + { + Query + .Where(q => q.Id == quotationId) + .Include(q => q.QuotationProducts!) + .ThenInclude(qp => qp.Product); + } +} \ No newline at end of file diff --git a/PyroFetes/wwwroot/Images/logo.jpg b/PyroFetes/wwwroot/Images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e459459759d1217e5d65d506dae8249f932963b1 GIT binary patch literal 47397 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 j{QvTsw*Q+S*!_{Q-FIXoPSo)mz(