Exemplo n.º 1
0
        private HttpClient CriarClient(ParametrosAPIConsultaTaxaDeJuros parametros)
        {
            parametros.urlApi = parametros.urlApi.EndsWith("/") ? parametros.urlApi : parametros.urlApi + "/";

            var client = new HttpClient()
            {
                BaseAddress = new Uri(parametros.urlApi),
                Timeout     = TimeSpan.FromMilliseconds(864000000)
            };

            return(client);
        }
Exemplo n.º 2
0
        public decimal ConsultarTaxaDeJuros(ParametrosAPIConsultaTaxaDeJuros parametros)
        {
            decimal resultado;

            try
            {
                using (var client = CriarClient(parametros))
                {
                    using (var response = client.GetAsync(parametros.urlApi).Result)
                    {
                        resultado = JsonConvert.DeserializeObject <decimal>(response.Content.ReadAsStringAsync().Result);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resultado);
        }
        public decimal CalcularJurosComposto(decimal valorInicial, int tempoEmMeses)
        {
            if (valorInicial <= 0.00M)
            {
                throw new ArgumentException("O valor inicial não pode ser menor que zero.");
            }
            if (tempoEmMeses < 1)
            {
                throw new ArgumentException("O tempo em meses deve ser maior ou igual a um.");
            }

            var urlApiConsultaTaxaDeJuros = _servicoDeInfraestruturaDeConfiguracoes.RecuperarUrlApiConsultaTaxaDeJuros();
            var parametrosDeAcessoApiConsultaTaxaDeJuros = new ParametrosAPIConsultaTaxaDeJuros
            {
                urlApi = urlApiConsultaTaxaDeJuros
            };
            var taxaDeJuros = _servicoDeInfraestruturaAnticurrupacaoConsultaTaxaDeJuros.ConsultarTaxaDeJuros(parametrosDeAcessoApiConsultaTaxaDeJuros);

            var taxaDeJurosDouble  = Convert.ToDouble(taxaDeJuros);
            var valorInicialDouble = Convert.ToDouble(valorInicial);
            var valorJuros         = Convert.ToDecimal(Math.Round(valorInicialDouble * Math.Pow(1.0 + taxaDeJurosDouble, tempoEmMeses), 2));

            return(valorJuros);
        }