Refactor EnvelopeTypeController to use MediatR

Replace IEnvelopeTypeService with IMediator in EnvelopeTypeController and update GetAllAsync to use ReadEnvelopeTypesQuery. Remove obsolete service-based code and attributes. Also, remove AsNoTracking() from repository query in ReadEnvelopeTypesQueryHandler.
This commit is contained in:
2026-01-28 13:48:02 +01:00
parent 02ad819da9
commit f294ef2fde
2 changed files with 9 additions and 18 deletions

View File

@@ -39,7 +39,7 @@ public class ReadEnvelopeTypesQueryHandler : IRequestHandler<ReadEnvelopeTypesQu
/// <returns></returns> /// <returns></returns>
public async Task<IEnumerable<EnvelopeTypeDto>> Handle(ReadEnvelopeTypesQuery request, CancellationToken cancellationToken) public async Task<IEnumerable<EnvelopeTypeDto>> Handle(ReadEnvelopeTypesQuery request, CancellationToken cancellationToken)
{ {
var types = await _repository.Query.AsNoTracking().ToListAsync(cancellationToken); var types = await _repository.Query.ToListAsync(cancellationToken);
return _mapper.Map<IEnumerable<EnvelopeTypeDto>>(types); return _mapper.Map<IEnumerable<EnvelopeTypeDto>>(types);
} }
} }

View File

@@ -1,5 +1,5 @@
using DigitalData.Core.Abstraction.Application.DTO; using MediatR;
using EnvelopeGenerator.Application.Common.Interfaces.Services; using EnvelopeGenerator.Application.EnvelopeTypes.Queries;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
namespace EnvelopeGenerator.GeneratorAPI.Controllers; namespace EnvelopeGenerator.GeneratorAPI.Controllers;
@@ -13,36 +13,27 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers;
public class EnvelopeTypeController : ControllerBase public class EnvelopeTypeController : ControllerBase
{ {
private readonly ILogger<EnvelopeTypeController> _logger; private readonly ILogger<EnvelopeTypeController> _logger;
private readonly IMediator _mediator;
[Obsolete("Use MediatR")]
private readonly IEnvelopeTypeService _service;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
/// <param name="logger"></param> /// <param name="logger"></param>
/// <param name="service"></param> /// <param name="mediator"></param>
[Obsolete("Use MediatR")] public EnvelopeTypeController(ILogger<EnvelopeTypeController> logger, IMediator mediator)
public EnvelopeTypeController(ILogger<EnvelopeTypeController> logger, IEnvelopeTypeService service)
{ {
_logger = logger; _logger = logger;
_service = service; _mediator = mediator;
} }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Obsolete("Use MediatR")]
[HttpGet] [HttpGet]
public async Task<IActionResult> GetAllAsync() public async Task<IActionResult> GetAllAsync()
{ {
return await _service.ReadAllAsync().ThenAsync( var result = await _mediator.Send(new ReadEnvelopeTypesQuery());
Success: Ok, return Ok(result);
Fail: IActionResult (msg, ntc) =>
{
_logger.LogNotice(ntc);
return ntc.HasFlag(Flag.NotFound) ? NotFound() : StatusCode(StatusCodes.Status500InternalServerError);
});
} }
} }