public bool FiltroEValido(CalculaJuroFilter filter) { if (!filter.ValorInicial.HasValue || filter.ValorInicial < 0) { NotifyError("Valor inicial deve ser maior que zero"); return(false); } if (!filter.Periodo.HasValue || filter.Periodo < 0) { NotifyError("Periodo deve ser maior que zero"); return(false); } return(true); }
public async Task <ReusltadoCalculaJuroDto> CalcularAsync(CalculaJuroFilter filter) { if (!FiltroEValido(filter)) { return(null); } try { var taxaJuros = (await _taxaJuroAPI.GetAsync()).Content; if (taxaJuros == null || taxaJuros.Juros <= 0) { NotifyError(taxaJuroNaoConfiguradoMensagemError); return(null); } var montante = new CalculaJuro(valorInicial: filter.ValorInicial.Value, periodo: filter.Periodo.Value, taxaJuro: taxaJuros.Juros).RealizarCalculo(); return(new ReusltadoCalculaJuroDto { Montante = montante }); } catch (ValidationApiException) { NotifyError(taxaJuroMensagemError); return(null); } catch (ApiException) { NotifyError(taxaJuroMensagemError); return(null); } catch (Exception) { NotifyError(taxaJuroNaoConfiguradoMensagemError); return(null); } }