diff --git a/EnvelopeGenerator.Application/DependencyInjection.cs b/EnvelopeGenerator.Application/DependencyInjection.cs index 5cb47dcf..8fa34112 100644 --- a/EnvelopeGenerator.Application/DependencyInjection.cs +++ b/EnvelopeGenerator.Application/DependencyInjection.cs @@ -89,6 +89,7 @@ public static class DependencyInjection cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly()); cfg.AddBehavior(); cfg.AddBehavior(); + cfg.AddBehavior(); }); // Add memory cache diff --git a/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs b/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs index 095bccd2..796a7338 100644 --- a/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs +++ b/EnvelopeGenerator.Application/Pdf/Behaviors/AddReportBehavior.cs @@ -1,6 +1,4 @@ using MediatR; -using EnvelopeGenerator.Application.Histories.Commands; -using EnvelopeGenerator.Domain.Constants; using EnvelopeGenerator.Application.EnvelopeReports; using EnvelopeGenerator.Application.Exceptions; using EnvelopeGenerator.Domain.Entities; @@ -40,17 +38,9 @@ public class AddReportBehavior : IPipelineBehavior { var docResult = await next(cancel); - if (!request.Debug) - await _sender.Send(new CreateHistoryCommand() - { - EnvelopeId = request.EnvelopeId, - UserReference = "System", - Status = EnvelopeStatus.EnvelopeReportCreated, - }, cancel); + var report = await CreateReport(request.Envelope!, cancel); - docResult = await CreateReport(request.Envelope!, cancel); - - var base64 = Convert.ToBase64String(docResult); + var reportBase64 = Convert.ToBase64String(report); return docResult; } @@ -71,7 +61,7 @@ public class AddReportBehavior : IPipelineBehavior throw new CreateReportException("No report data found!"); } - var oBuffer = AddReportBehavior.DoCreateReport(oItems); + var oBuffer = DoCreateReport(oItems); return oBuffer; } diff --git a/EnvelopeGenerator.Application/Pdf/Behaviors/CreateHistoryBehavior.cs b/EnvelopeGenerator.Application/Pdf/Behaviors/CreateHistoryBehavior.cs new file mode 100644 index 00000000..89625f26 --- /dev/null +++ b/EnvelopeGenerator.Application/Pdf/Behaviors/CreateHistoryBehavior.cs @@ -0,0 +1,47 @@ +using MediatR; +using EnvelopeGenerator.Application.Histories.Commands; +using EnvelopeGenerator.Domain.Constants; +using Microsoft.Extensions.Logging; + +namespace EnvelopeGenerator.Application.Pdf.Behaviors; + +/// +/// +/// +public class CreateHistoryBehavior : IPipelineBehavior +{ + private readonly ISender _sender; + + private readonly ILogger _logger; + + /// + /// + /// + /// + /// + public CreateHistoryBehavior(ISender sender, ILogger logger) + { + _sender = sender; + _logger = logger; + } + + /// + /// + /// + /// + /// + /// + /// + public async Task Handle(BurnPdfCommand request, RequestHandlerDelegate next, CancellationToken cancel) + { + if (!request.Debug) + await _sender.Send(new CreateHistoryCommand() + { + EnvelopeId = request.EnvelopeId, + UserReference = "System", + Status = EnvelopeStatus.EnvelopeReportCreated, + }, cancel); + + return await next(cancel); + } +} \ No newline at end of file