From 17e3a67fe5389fcbc127d58e336b1a18cd5abfdb Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 6 Feb 2026 15:14:46 +0100 Subject: [PATCH] Refactor handler to use generic IRepository for templates Replaces IEmailTemplateRepository with IRepository in ReadEmailTemplateQueryHandler. Updates method logic to use LINQ queries and FirstOrDefaultAsync. Cleans up obsolete attributes, comments, and using directives. Renames cancellation token parameter for consistency. --- .../Queries/Read/ReadEmailTemplateQuery.cs | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQuery.cs b/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQuery.cs index 50d81b1c..8edee338 100644 --- a/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQuery.cs +++ b/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQuery.cs @@ -1,8 +1,9 @@ using AutoMapper; using MediatR; -using EnvelopeGenerator.Application.Common.Interfaces.Repositories; -using EnvelopeGenerator.Domain.Constants; using EnvelopeGenerator.Application.Common.Dto; +using DigitalData.Core.Abstraction.Application.Repository; +using EnvelopeGenerator.Domain.Entities; +using Microsoft.EntityFrameworkCore; namespace EnvelopeGenerator.Application.EmailTemplates.Queries.Read; @@ -21,39 +22,35 @@ public class ReadEmailTemplateQueryHandler : IRequestHandler instead.")] - private readonly IEmailTemplateRepository _repository; + private readonly IRepository _repo; /// /// Initialisiert eine neue Instanz der -Klasse. /// /// - /// + /// /// Die AutoMapper-Instanz, die zum Zuordnen von Objekten verwendet wird. /// - [Obsolete("Use Read-method returning IReadQuery instead.")] - public ReadEmailTemplateQueryHandler(IMapper mapper, IEmailTemplateRepository repository) + public ReadEmailTemplateQueryHandler(IMapper mapper, IRepository repo) { _mapper = mapper; - _repository = repository; + _repo = repo; } /// /// /// /// - /// + /// /// /// [Obsolete("Use IRepository")] - public async Task Handle(ReadEmailTemplateQuery request, CancellationToken cancellationToken) + public async Task Handle(ReadEmailTemplateQuery request, CancellationToken cancel) { - var temp = request.Id is int id - ? await _repository.ReadByIdAsync(id) - : request.Type is EmailTemplateType type - ? await _repository.ReadByNameAsync(type) - : throw new InvalidOperationException("Either a valid integer ID or a valid EmailTemplateType must be provided in the request."); + var query = request.Id is int id + ? _repo.Query.Where(temp => temp.Id == id) + : _repo.Query.Where(temp => temp.Name == request.Type!.ToString()); - return _mapper.Map(temp); + return _mapper.Map(await query.FirstOrDefaultAsync(cancel)); } } \ No newline at end of file