public void GivenValidData_InputCreated() { var actual = new CalculaJurosInput( new ValorInicial(1), new Meses(1)); Assert.NotNull(actual); }
public async Task <IActionResult> CalculaJuros( [FromServices] IMediator mediator, [FromServices] CalculaJurosPresenter presenter, [FromQuery][Required] CalculaJurosRequest request) { var input = new CalculaJurosInput( new ValorInicial(request.ValorInicial), new Meses(request.Meses)); await mediator.PublishAsync(input) .ConfigureAwait(false); return(presenter.ViewModel); }
public async Task Execute(CalculaJurosInput input) { if (input is null) { this._outputPort.WriteError(Messages.InputIsNull); return; } var juro = await _financeiroIntegration.GetTaxaJuros().ConfigureAwait(false); decimal valor = input.ValorInicial.ToDecimal(); for (int n = 0; n < input.Meses.ToInt(); n++) { valor = (valor * (1 + juro.ToDecimal())); } Resultado resultado = new Resultado(Convert.ToDecimal(Math.Truncate(100 * valor) / 100)); this.BuildOutput(resultado); }