using DigitalData.Core.Abstraction.Application.DTO; using EnvelopeGenerator.Application.Interfaces.Services; using Microsoft.AspNetCore.Mvc; using EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiver; namespace EnvelopeGenerator.Web.Controllers.Test; [ApiController] [Route("api/test/[controller]")] public class TestEnvelopeMailController : ControllerBase { private readonly ILogger _logger; [Obsolete("Use MediatR")] private readonly IEnvelopeMailService _mailService; [Obsolete("Use MediatR")] private readonly IEnvelopeReceiverService _envRcvService; [Obsolete("Use MediatR")] public TestEnvelopeMailController(ILogger logger, IEnvelopeMailService envelopeMailService, IEnvelopeReceiverService envelopeReceiverService) { _logger = logger; _mailService = envelopeMailService; _envRcvService = envelopeReceiverService; } [HttpGet] [Obsolete("Use MediatR")] public async Task SendAccessCode([FromQuery] string envelopeReceiverId = "ZDlmYjZmYjctNTBhNS00NTcyLWI5NTQtYzJjYmY4N2UwZmZhOjowRDI3MkEwNTdGMjRBMkY3MEZDMzM3QkRBQzA1MjYxRjU3NTI2QzgxQ0IyMUE5NzE1RjA1NTJFQzdFNjIwNjY1") { return await _envRcvService.ReadByEnvelopeReceiverIdAsync(envelopeReceiverId: envelopeReceiverId).ThenAsync( 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); }); } }