Пример #1
0
 public void SetUp()
 {
     informacoesCalculoJurosMock = Substitute.For <InformacoesCalculoJuros>();
     informacoesCalculoJurosMock.ValorInicial = 1350.577M;
     informacoesCalculoJurosMock.TempoEmMeses = -1;
     calculoJurosBusiness = new CalculoJuros();
 }
        public Compra Simular(Compra item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("Argumento item não pode ser nulo");
            }

            var parcelas = new List <Parcela>();

            item.ValorTotal = Math.Round(item.ValorTotal, 2);
            item.Juros      = Math.Round(item.Juros, 4);

            decimal valorParcela = CalculoJuros.CalcularParcela(item.ValorTotal, item.Juros, item.QuantidadeParcelas);

            valorParcela = Math.Round(valorParcela, 2);

            for (int i = 0; i < item.QuantidadeParcelas; i++)
            {
                var parcela = new Parcela()
                {
                    Juros      = item.Juros,
                    Valor      = valorParcela,
                    Vencimento = item.Data.AddMonths(i + 1)
                };

                parcelas.Add(parcela);
            }

            item.Parcelas = parcelas;

            return(item);
        }
Пример #3
0
        static void Main(string[] args)
        {
            CalculoJuros calc      = new CalculoJuros();
            double       resultado = calc.Soma(10, 20);

            Console.WriteLine(resultado);
            Console.ReadKey();
        }
Пример #4
0
        public async Task <double> CalculaJuros(CalculoJuros itens)
        {
            var taxa = await _jurosService.GetTaxaJuros();

            var result = itens.valorInicial * Math.Pow(1 + taxa, itens.tempo);

            return(result);
        }
 public static CalculoJuros CalcularJuros2(CalculoJuros calculoJuros, double ValorJuros = 0.01)
 {
     if (calculoJuros != null)
     {
         calculoJuros.Juros      = ValorJuros;
         calculoJuros.ValorFinal = Convert.ToDecimal(Math.Round(Convert.ToDouble(calculoJuros.ValorInicial) * Math.Pow(1 + calculoJuros.Juros, calculoJuros.Tempo), 2));
     }
     return(calculoJuros);
 }
Пример #6
0
        /// <summary>
        /// Realiza o Calculo e salva em memoria o processamento
        /// </summary>
        /// <param name="calculo">Passar o objeto preenchido com as informações recebidas pela API</param>
        /// <returns></returns>
        private string RealizaCalculo(CalculoJurosDTO calculo)
        {
            double       valor        = (calculo.ValorInicial * Math.Pow((1 + calculo.TaxaJurosDTO.TaxaJuros), calculo.Meses));
            CalculoJuros calculoJuros = new CalculoJuros(calculo.ValorInicial,
                                                         calculo.Meses,
                                                         Banco.ObterTaxaJuros(),
                                                         valor);

            Banco.IncluirCalculo(calculoJuros);
            return(calculoJuros.ValorCalculadoFormatado);
        }
 public async Task <double> CalculaJuros([FromQuery] CalculoJuros item)
 {
     try
     {
         return(await _calculaJurosApplication.CalculaJuros(item));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        /// <summary>
        /// Exemplo: / calculajuros ? valorinicial = 100 & meses = 5 Resultado esperado: 105,10 - Valor Final = Valor Inicial* (1 + juros) ^ Tempo
        /// </summary>
        /// <param name="calculoJuros"></param>
        /// <param name="ValorJuros"></param>
        /// <returns></returns>
        public static decimal CalcularJuros(CalculoJuros calculoJuros, double ValorJuros = 0.01)
        {
            double valorFinal = 0;

            if (calculoJuros != null)
            {
                calculoJuros.Juros = ValorJuros;
                valorFinal         = Math.Round(Convert.ToDouble(calculoJuros.ValorInicial) * Math.Pow(1 + calculoJuros.Juros, calculoJuros.Tempo), 2);
            }
            return(Convert.ToDecimal(valorFinal));
        }
        public CalculoJuros PostCalculaJuros(decimal valorInicial, int meses, double taxaJuros)
        {
            try
            {
                var mesesDouble = (double)meses;
                var taxa        = taxaJuros;

                var potencia = Math.Pow(1 + taxa, mesesDouble);

                var resultado = valorInicial * (decimal)potencia;

                var result = new CalculoJuros($"{resultado:N2}");

                return(result);
            }
            catch
            {
                return(null);
            }
        }
Пример #10
0
        public IActionResult Get([FromQuery] JurosEntidade juros)
        {
            CalculoJuros calculo;

            try
            {
                calculo = new CalculoJuros();

                return(Ok(calculo.Calcular(juros)));
            }catch (OverflowException)
            {
                return(BadRequest("Ocorreu um erro porque o calculo levou a um numero maior do que o esperado."));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
            finally
            {
                calculo = null;
            }
        }
Пример #11
0
        public string ObterValorCalculado(CalculoJurosDTO calculoDTO)
        {
            CalculoJuros calculo = CalculoJaEfetuado(calculoDTO);

            return(calculo == null?RealizaCalculo(calculoDTO) : calculo.ValorCalculadoFormatado);
        }
Пример #12
0
        static void Main(string[] args)
        {
            CalculoJuros calc = new CalculoJuros();

            Console.WriteLine(calc.Soma(2, 6));
        }
Пример #13
0
 static void Main(string[] args)
 {
     Console.WriteLine("O resultado é: " + CalculoJuros.Soma(1, 3));
 }
        // A função de calculo do juros composto também poderia ter sido feito dentro da minha camada de serviço
        // mas achei mais apropriado ser responsabilidade da minha classe CalculoJuros
        public string CalcularJurosComposto(int meses, decimal valorInicial, decimal juros)
        {
            CalculoJuros calculo = new CalculoJuros(meses, valorInicial);

            return(calculo.CalcularJurosComposto(juros));
        }
        public void calcular_juros_composto_com_valor_100_12_reais_7_meses_taxa_15_porcento()
        {
            var _calculaJuros_100_12_reais_7_meses = new CalculoJuros((decimal)100.12, 7, _taxaJuros0_virgula_15);

            Assert.AreEqual((decimal)266.32, _calculaJuros_100_12_reais_7_meses.JurosComposto());
        }
        public void calcular_juros_composto_com_valor_0_reais_10_meses_taxa_15_porcento()
        {
            var _calculaJuros_0_reais_10_meses = new CalculoJuros(0, 10, _taxaJuros0_virgula_15);

            Assert.AreEqual(0, _calculaJuros_0_reais_10_meses.JurosComposto());
        }
        public void calcular_juros_composto_com_valor_100_reais_10_meses_taxa_zero()
        {
            var _calculaJuros_100_reais_5_meses = new CalculoJuros(100, 10, _taxaJurosZero);

            Assert.AreEqual((decimal)100, _calculaJuros_100_reais_5_meses.JurosComposto());
        }
        public void calcular_juros_composto_com_taxa_0_15_porcento()
        {
            var _calculaJuros_100_reais_5_meses = new CalculoJuros(100, 5, _taxaJuros0_virgula_15);

            Assert.AreEqual((decimal)201.13, _calculaJuros_100_reais_5_meses.JurosComposto());
        }
        public decimal ObterJurosComposto(decimal valorInicial, int meses)
        {
            var calculaJuros = new CalculoJuros(valorInicial, meses, _taxaJuros);

            return(calculaJuros.JurosComposto());
        }
Пример #20
0
        public void VerificaValorInicialDaClasseCalculoJuros()
        {
            var calculo = new CalculoJuros(5, 0);

            Assert.False(calculo.EhValido());
        }
Пример #21
0
        public void VerificaMensagemValorInicialDaClasseCalculoJuros()
        {
            var message = new CalculoJuros(5, 0);

            Assert.Equal("O Valor inicial deve ser maio que zero", message.ValidationResult.Errors[0].ErrorMessage);
        }
Пример #22
0
        public void VerificaMensagemMesDaClasseCalculoJuros()
        {
            var message = new CalculoJuros(0, 0.1M);

            Assert.Equal("O mês deve ser maio que zero", message.ValidationResult.Errors[0].ErrorMessage);
        }
Пример #23
0
        public void VerificaMesDaClasseCalculoJuros()
        {
            var calculo = new CalculoJuros(0, 0.1M);

            Assert.False(calculo.EhValido());
        }