From 629b02863b5dac82735a1fdc7de46e5d3effc421 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 14 Nov 2025 11:57:16 +0100 Subject: [PATCH] refactor(history): introduce extension method and remove AutoMapper dependency - Added `CountHistoryQueryExtensions.AnyHistoryAsync` for cleaner query usage via `ISender`. - Removed `IMapper` from `CountHistoryQueryHandler` as it was unused. - Removed unnecessary `using` directives to simplify imports. - Kept query handling logic intact. --- .../Histories/Queries/CountHistoryQuery.cs | 35 +++++++++++++------ .../Histories/Queries/HistoryQueryBase.cs | 4 +-- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/EnvelopeGenerator.Application/Histories/Queries/CountHistoryQuery.cs b/EnvelopeGenerator.Application/Histories/Queries/CountHistoryQuery.cs index 795799fc..2f1dae88 100644 --- a/EnvelopeGenerator.Application/Histories/Queries/CountHistoryQuery.cs +++ b/EnvelopeGenerator.Application/Histories/Queries/CountHistoryQuery.cs @@ -1,11 +1,7 @@ -using AutoMapper; -using DigitalData.Core.Abstraction.Application.Repository; +using DigitalData.Core.Abstraction.Application.Repository; using DigitalData.Core.Exceptions; -using EnvelopeGenerator.Application.Common.Dto.History; -using EnvelopeGenerator.Domain.Constants; -using MediatR; -using System.ComponentModel.DataAnnotations; using EnvelopeGenerator.Domain.Entities; +using MediatR; using Microsoft.EntityFrameworkCore; namespace EnvelopeGenerator.Application.Histories.Queries; @@ -16,6 +12,27 @@ namespace EnvelopeGenerator.Application.Histories.Queries; /// public record CountHistoryQuery : HistoryQueryBase, IRequest; +/// +/// +/// +public static class CountHistoryQueryExtensions +{ + /// + /// + /// + /// + /// + /// + /// + public static async Task AnyHistoryAsync(this ISender sender, Action queryOptions, CancellationToken cancel) + { + var query = new CountHistoryQuery(); + queryOptions(query); + var count = await sender.Send(query, cancel); + return count > 0; + } +} + /// /// /// @@ -23,17 +40,13 @@ public class CountHistoryQueryHandler : IRequestHandler { private readonly IRepository _repo; - private readonly IMapper _mapper; - /// /// /// /// - /// - public CountHistoryQueryHandler(IRepository repo, IMapper mapper) + public CountHistoryQueryHandler(IRepository repo) { _repo = repo; - _mapper = mapper; } /// diff --git a/EnvelopeGenerator.Application/Histories/Queries/HistoryQueryBase.cs b/EnvelopeGenerator.Application/Histories/Queries/HistoryQueryBase.cs index 0d831011..1286e465 100644 --- a/EnvelopeGenerator.Application/Histories/Queries/HistoryQueryBase.cs +++ b/EnvelopeGenerator.Application/Histories/Queries/HistoryQueryBase.cs @@ -13,10 +13,10 @@ public record HistoryQueryBase /// Die eindeutige Kennung des Umschlags. /// [Required] - public int EnvelopeId { get; init; } + public int EnvelopeId { get; set; } /// /// Der Include des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern. /// - public EnvelopeStatus? Status { get; init; } + public EnvelopeStatus? Status { get; set; } } \ No newline at end of file