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, }); } }
public void CalculadoraJurosDecimalPositivoComSucesso(int valor) { var jurosMeses = new CalculadoraJurosMeses(valor); var valorEsperado = valor; Assert.Equal(valorEsperado, jurosMeses.ToInt()); Assert.Equal(valorEsperado.ToString(), jurosMeses.ToString()); }
public async Task <CalculadoraJurosDecimalPositivo> CalculaJurosAsync(CalculadoraJurosValorInicial valorInicial, CalculadoraJurosMeses numeroMeses) { var taxaJuros = await _taxaJurosAPIService.ObterTaxaJuros(); var valorFinal = CalcularValorDoJurosComposto(valorInicial.ToDouble(), numeroMeses.ToInt(), taxaJuros.ToDecimal()); return(new CalculadoraJurosDecimalPositivo(valorFinal)); }