refactor(ReadHistoryQueryHandler): update to use IRepository<EnvelopeHistory>

This commit is contained in:
Developer 02 2025-08-28 17:52:24 +02:00
parent 3616d43f2e
commit b8c348afb6

View File

@ -1,7 +1,9 @@
using AutoMapper; using AutoMapper;
using EnvelopeGenerator.Application.Interfaces.Repositories; using DigitalData.Core.Abstraction.Application.Repository;
using DigitalData.Core.Exceptions; using DigitalData.Core.Exceptions;
using EnvelopeGenerator.Domain.Entities;
using MediatR; using MediatR;
using Microsoft.EntityFrameworkCore;
namespace EnvelopeGenerator.Application.Histories.Queries.Read; namespace EnvelopeGenerator.Application.Histories.Queries.Read;
@ -10,20 +12,18 @@ namespace EnvelopeGenerator.Application.Histories.Queries.Read;
/// </summary> /// </summary>
public class ReadHistoryQueryHandler : IRequestHandler<ReadHistoryQuery, IEnumerable<ReadHistoryResponse>> public class ReadHistoryQueryHandler : IRequestHandler<ReadHistoryQuery, IEnumerable<ReadHistoryResponse>>
{ {
[Obsolete("Use IRepository")] private readonly IRepository<EnvelopeHistory> _repo;
private readonly IEnvelopeHistoryRepository _repository;
private readonly IMapper _mapper; private readonly IMapper _mapper;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
/// <param name="repository"></param> /// <param name="repo"></param>
/// <param name="mapper"></param> /// <param name="mapper"></param>
[Obsolete("Use IRepository")] public ReadHistoryQueryHandler(IRepository<EnvelopeHistory> repo, IMapper mapper)
public ReadHistoryQueryHandler(IEnvelopeHistoryRepository repository, IMapper mapper)
{ {
_repository = repository; _repo = repo;
_mapper = mapper; _mapper = mapper;
} }
@ -31,16 +31,20 @@ public class ReadHistoryQueryHandler : IRequestHandler<ReadHistoryQuery, IEnumer
/// ///
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <param name="cancellationToken"></param> /// <param name="cancel"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="NotFoundException"></exception> /// <exception cref="NotFoundException"></exception>
public async Task<IEnumerable<ReadHistoryResponse>> Handle(ReadHistoryQuery request, CancellationToken cancellationToken) public async Task<IEnumerable<ReadHistoryResponse>> Handle(ReadHistoryQuery request, CancellationToken cancel = default)
{ {
var hists = await _repository.ReadAsync(request.EnvelopeId, status: request.Status is null ? null : request.Status); var query = _repo.ReadOnly().Where(h => h.EnvelopeId == request.EnvelopeId);
if (request.Status is not null)
query = query.Where(h => h.Status == request.Status);
if (!hists.Any()) var hists = await query.ToListAsync(cancel);
throw new NotFoundException();
if (hists.Count == 0)
return _mapper.Map<IEnumerable<ReadHistoryResponse>>(hists); return _mapper.Map<IEnumerable<ReadHistoryResponse>>(hists);
throw new NotFoundException();
} }
} }