diff --git a/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs b/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs index 12ea8dae..3f775355 100644 --- a/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs +++ b/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs @@ -4,6 +4,7 @@ using EnvelopeGenerator.Domain.Constants; using EnvelopeGenerator.Application.EnvelopeReports; using EnvelopeGenerator.Application.Exceptions; using EnvelopeGenerator.Domain.Entities; +using Microsoft.Extensions.Logging; namespace EnvelopeGenerator.Application.Pdf.Behaviors; @@ -14,13 +15,17 @@ public class AddReportBehavior : IPipelineBehavior { private readonly ISender _sender; + private readonly ILogger _logger; + /// /// /// /// - public AddReportBehavior(ISender sender) + /// + public AddReportBehavior(ISender sender, ILogger logger) { _sender = sender; + _logger = logger; } /// @@ -68,4 +73,35 @@ public class AddReportBehavior : IPipelineBehavior return oBuffer; } + + private byte[] DoCreateReport(IEnumerable oItems) + { + var oSource = new ReportSource { Items = oItems }; + var oReport = new rptEnvelopeHistory + { + DataSource = oSource, + DataMember = "Items" + }; + + // Creating report in memory + oReport.CreateDocument(); + + // Exporting report to stream + using var oStream = new MemoryStream(); + oReport.ExportToPdf(oStream); + + // Writing report to buffer + return oStream.ToArray(); + } + + /// + /// + /// + public class ReportSource + { + /// + /// + /// + public required IEnumerable Items { get; init; } + } } \ No newline at end of file