public async Task <IActionResult> Get(
            [FromServices] ICalculadoraJuros calculadoraJurosCompostoService,
            [FromQuery] CalculaJurosRequestDTO requestData)
        {
            try
            {
                var valorInicial = new CalculadoraJurosValorInicial(requestData.ValorInicial);
                var meses        = new CalculadoraJurosMeses(requestData.Meses);

                var jurosComposto = await calculadoraJurosCompostoService.CalculaJurosAsync(valorInicial, meses);

                return(new OkObjectResult(jurosComposto.ToString()));
            }
            catch (InvalidValueObjectDataException invalidDataEx)
            {
                return(new BadRequestObjectResult($"{invalidDataEx.Message} Valor informado: {invalidDataEx.Value}"));
            }
            catch (Exception)
            {
                return(new ObjectResult("Ocorreu um erro inesperado no servidor. Entre em contato com nosso suporte")
                {
                    StatusCode = 500,
                });
            }
        }
Esempio n. 2
0
 public CalculadoraController(ICalculadoraJuros calculadoraJuros)
 {
     _calculadoraJuros = calculadoraJuros;
 }
 public CalculaJurosController(ICalculadoraJuros calculadoraJuros, ILogger <CalculaJurosController> logger)
 {
     _logger           = logger;
     _calculadoraJuros = calculadoraJuros;
 }