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.Abstraction.Application.Repository;
using DigitalData.Core.Exceptions; using DigitalData.Core.Exceptions;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Domain.Entities;
using MediatR; using MediatR;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
@@ -21,14 +22,17 @@ public static class CountHistoryQueryExtensions
/// ///
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="queryOptions"></param> /// <param name="uuid"></param>
/// <param name="status"></param>
/// <param name="cancel"></param> /// <param name="cancel"></param>
/// <returns></returns> /// <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(); var count = await sender.Send(new CountHistoryQuery
queryOptions(query); {
var count = await sender.Send(query, cancel); Envelope = new() { Uuid = uuid },
Status = status,
}, cancel);
return count > 0; return count > 0;
} }
} }