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) { var doc = await next(cancel); if (!request.Debug) await _sender.Send(new CreateHistoryCommand() { EnvelopeId = request.EnvelopeId, UserReference = "System", Status = EnvelopeStatus.EnvelopeReportCreated, }, cancel); return doc; } }