using DigitalData.Core.Abstraction.Application.Repository; using EnvelopeGenerator.Application.Common.Extensions; using EnvelopeGenerator.Application.Histories.Commands; using EnvelopeGenerator.Domain.Constants; using MediatR; using Newtonsoft.Json; namespace EnvelopeGenerator.Application.Common.Notifications.RemoveSignature.Handlers; /// /// /// public class RemoveHistoryHandler : INotificationHandler { private readonly IRepository _repo; /// /// /// /// public RemoveHistoryHandler(IRepository repository) { _repo = repository; } /// /// /// /// /// /// public async Task Handle(RemoveSignatureNotification notification, CancellationToken cancel) { await _repo.DeleteAsync(hists => hists .Where(hist => hist.Envelope!.Uuid == notification.EnvelopeUuid) .Where(hist => hist.Status == EnvelopeStatus.DocumentSigned), cancel); } }