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