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:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user