From f294ef2fde5a2ee4c4e24228d45e6aa19898389f Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 28 Jan 2026 13:48:02 +0100 Subject: [PATCH] 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. --- .../Queries/ReadEnvelopeTypesQuery.cs | 2 +- .../Controllers/EnvelopeTypeController.cs | 25 ++++++------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs b/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs index dc7fafc8..3d607e94 100644 --- a/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs @@ -39,7 +39,7 @@ public class ReadEnvelopeTypesQueryHandler : IRequestHandler public async Task> Handle(ReadEnvelopeTypesQuery request, CancellationToken cancellationToken) { - var types = await _repository.Query.AsNoTracking().ToListAsync(cancellationToken); + var types = await _repository.Query.ToListAsync(cancellationToken); return _mapper.Map>(types); } } \ No newline at end of file diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeTypeController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeTypeController.cs index af373270..e6fc6095 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeTypeController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeTypeController.cs @@ -1,5 +1,5 @@ -using DigitalData.Core.Abstraction.Application.DTO; -using EnvelopeGenerator.Application.Common.Interfaces.Services; +using MediatR; +using EnvelopeGenerator.Application.EnvelopeTypes.Queries; using Microsoft.AspNetCore.Mvc; namespace EnvelopeGenerator.GeneratorAPI.Controllers; @@ -13,36 +13,27 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers; public class EnvelopeTypeController : ControllerBase { private readonly ILogger _logger; - - [Obsolete("Use MediatR")] - private readonly IEnvelopeTypeService _service; + private readonly IMediator _mediator; /// /// /// /// - /// - [Obsolete("Use MediatR")] - public EnvelopeTypeController(ILogger logger, IEnvelopeTypeService service) + /// + public EnvelopeTypeController(ILogger logger, IMediator mediator) { _logger = logger; - _service = service; + _mediator = mediator; } /// /// /// /// - [Obsolete("Use MediatR")] [HttpGet] public async Task GetAllAsync() { - return await _service.ReadAllAsync().ThenAsync( - Success: Ok, - Fail: IActionResult (msg, ntc) => - { - _logger.LogNotice(ntc); - return ntc.HasFlag(Flag.NotFound) ? NotFound() : StatusCode(StatusCodes.Status500InternalServerError); - }); + var result = await _mediator.Send(new ReadEnvelopeTypesQuery()); + return Ok(result); } } \ No newline at end of file