update to use IRepository<T>

This commit is contained in:
tekh 2025-10-08 13:36:09 +02:00
parent 3b7d0e1321
commit e96523b786
4 changed files with 39 additions and 9 deletions

View File

@ -8,13 +8,13 @@ namespace EnvelopeGenerator.Application.Common.Notifications.RemoveSignature.Han
/// </summary>
public class RemoveAnnotationHandler : INotificationHandler<RemoveSignatureNotification>
{
private readonly IRepository _repo;
private readonly IRepository<Domain.Entities.DocumentStatus> _repo;
/// <summary>
///
/// </summary>
/// <param name="repository"></param>
public RemoveAnnotationHandler(IRepository repository)
public RemoveAnnotationHandler(IRepository<Domain.Entities.DocumentStatus> repository)
{
_repo = repository;
}
@ -27,6 +27,6 @@ public class RemoveAnnotationHandler : INotificationHandler<RemoveSignatureNotif
/// <returns></returns>
public async Task Handle(RemoveSignatureNotification notification, CancellationToken cancel)
{
await _repo.DeleteAsync<Domain.Entities.DocumentStatus>(s => s.EnvelopeId == notification.EnvelopeId, cancel);
await _repo.DeleteAsync(s => s.Envelope!.Uuid == notification.EnvelopeUuid, cancel);
}
}

View File

@ -12,13 +12,13 @@ namespace EnvelopeGenerator.Application.Common.Notifications.RemoveSignature.Han
/// </summary>
public class RemoveHistoryHandler : INotificationHandler<RemoveSignatureNotification>
{
private readonly IRepository _repo;
private readonly IRepository<Domain.Entities.History> _repo;
/// <summary>
///
/// </summary>
/// <param name="repository"></param>
public RemoveHistoryHandler(IRepository repository)
public RemoveHistoryHandler(IRepository<Domain.Entities.History> repository)
{
_repo = repository;
}
@ -31,9 +31,9 @@ public class RemoveHistoryHandler : INotificationHandler<RemoveSignatureNotifica
/// <returns></returns>
public async Task Handle(RemoveSignatureNotification notification, CancellationToken cancel)
{
await _repo.DeleteAsync<Domain.Entities.History>(hists
await _repo.DeleteAsync(hists
=> hists
.Where(hist => hist.EnvelopeId == notification.EnvelopeId)
.Where(hist => hist.Envelope!.Uuid == notification.EnvelopeUuid)
.Where(hist => hist.Status == EnvelopeStatus.DocumentSigned)
, cancel);
}

View File

@ -5,5 +5,5 @@ namespace EnvelopeGenerator.Application.Common.Notifications.RemoveSignature;
/// <summary>
///
/// </summary>
/// <param name="EnvelopeId"></param>
public record RemoveSignatureNotification(int EnvelopeId) : INotification;
/// <param name="EnvelopeUuid"></param>
public record RemoveSignatureNotification(string EnvelopeUuid) : INotification;

View File

@ -0,0 +1,30 @@
using EnvelopeGenerator.Application.Common.Extensions;
using EnvelopeGenerator.Application.Common.Notifications.RemoveSignature;
using MediatR;
using Microsoft.AspNetCore.Mvc;
namespace EnvelopeGenerator.Web.Controllers.Test;
[Route("api/[controller]")]
[ApiController]
public class TestAnnotationController : ControllerBase
{
private IMediator _mediator;
public TestAnnotationController(IMediator mediator)
{
_mediator = mediator;
}
[HttpDelete("{envelopeKey}")]
public async Task<IActionResult> Delete([FromRoute] string envelopeKey)
{
var uuid = envelopeKey.GetEnvelopeUuid();
if (uuid == null)
return BadRequest();
await _mediator.Publish(new RemoveSignatureNotification(uuid));
return Ok();
}
}