Updated using directives, added Obsolete attributes, and improved error handling in SendAccessCode method. Enhanced code clarity while preserving overall structure.
50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using DigitalData.Core.Abstraction.Application.DTO;
|
|
using EnvelopeGenerator.Application.Contracts.Services;
|
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace EnvelopeGenerator.Web.Controllers.Test;
|
|
|
|
[ApiController]
|
|
[Route("api/test/[controller]")]
|
|
public class TestEnvelopeMailController : ControllerBase
|
|
{
|
|
private readonly ILogger<TestEnvelopeMailController> _logger;
|
|
[Obsolete("Use MediatR")]
|
|
private readonly IEnvelopeMailService _mailService;
|
|
[Obsolete("Use MediatR")]
|
|
private readonly IEnvelopeReceiverService _envRcvService;
|
|
|
|
[Obsolete("Use MediatR")]
|
|
public TestEnvelopeMailController(ILogger<TestEnvelopeMailController> logger, IEnvelopeMailService envelopeMailService, IEnvelopeReceiverService envelopeReceiverService)
|
|
{
|
|
_logger = logger;
|
|
_mailService = envelopeMailService;
|
|
_envRcvService = envelopeReceiverService;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Obsolete("Use MediatR")]
|
|
public async Task<IActionResult> SendAccessCode([FromQuery] string envelopeReceiverId = "ZDlmYjZmYjctNTBhNS00NTcyLWI5NTQtYzJjYmY4N2UwZmZhOjowRDI3MkEwNTdGMjRBMkY3MEZDMzM3QkRBQzA1MjYxRjU3NTI2QzgxQ0IyMUE5NzE1RjA1NTJFQzdFNjIwNjY1")
|
|
{
|
|
return await _envRcvService.ReadByEnvelopeReceiverIdAsync(envelopeReceiverId: envelopeReceiverId).ThenAsync<EnvelopeReceiverDto, IActionResult>(
|
|
SuccessAsync: async er =>
|
|
{
|
|
|
|
|
|
var mailRes = await _mailService.SendAccessCodeAsync(envelopeReceiverDto: er);
|
|
if (mailRes.IsFailed)
|
|
{
|
|
_logger.LogNotice(mailRes);
|
|
return StatusCode(500, mailRes.Notices);
|
|
}
|
|
|
|
return Ok();
|
|
},
|
|
Fail: (messages, notices) =>
|
|
{
|
|
_logger.LogNotice(notices);
|
|
return StatusCode(500, notices);
|
|
});
|
|
}
|
|
} |