refactor(CountHistoryQuery): simplify AnyHistoryAsync extension to use UUID and status

- Replace Action-based query configuration with direct parameters (uuid, status)
- Automatically constructs CountHistoryQuery from provided parameters
- Keeps existing EnvelopeId/UUID validation in handler
- Improves readability and usability of history count checks
This commit is contained in:
2025-11-14 13:27:26 +01:00
parent 00c7fe5316
commit 28b8c311f9

View File

@@ -1,5 +1,6 @@
using DigitalData.Core.Abstraction.Application.Repository;
using DigitalData.Core.Exceptions;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.Domain.Entities;
using MediatR;
using Microsoft.EntityFrameworkCore;
@@ -21,14 +22,17 @@ public static class CountHistoryQueryExtensions
///
/// </summary>
/// <param name="sender"></param>
/// <param name="queryOptions"></param>
/// <param name="uuid"></param>
/// <param name="status"></param>
/// <param name="cancel"></param>
/// <returns></returns>
public static async Task<bool> AnyHistoryAsync(this ISender sender, Action<CountHistoryQuery> queryOptions, CancellationToken cancel = default)
public static async Task<bool> AnyHistoryAsync(this ISender sender, string uuid, EnvelopeStatus status, CancellationToken cancel = default)
{
var query = new CountHistoryQuery();
queryOptions(query);
var count = await sender.Send(query, cancel);
var count = await sender.Send(new CountHistoryQuery
{
Envelope = new() { Uuid = uuid },
Status = status,
}, cancel);
return count > 0;
}
}