public void Calcular() { var valorCredito = 1000000000.00M; var quantidadeParcelas = 36; var dataPrimeiroVencimento = Convert.ToDateTime("23/08/2020", new CultureInfo("pt-BR")); CreditoImobiliario creditoImobiliario = new CreditoImobiliario(new Credito <CreditoImobiliario>() { ValorCredito = valorCredito, QuantidadeParcelas = quantidadeParcelas, DataPrimeiroVencimento = dataPrimeiroVencimento, Taxa = CreditoImobiliario.Taxa }); CreditoVO creditoVOImobiliario = creditoImobiliario.Calcular(); Console.WriteLine($"Status do Crédito: {creditoVOImobiliario.Status}\nValor Total Com Juros: R$ {creditoVOImobiliario.ValorTotalComJuros.ToString("#.##")}\nValor do Juros: R$ {creditoVOImobiliario.ValorJuros.ToString("#.##")}"); }
private static void ProcessarCalculoCreditoImobiliario() { CreditoImobiliario creditoImobiliario = new CreditoImobiliario(new Credito <CreditoImobiliario>() { ValorCredito = valorCredito, QuantidadeParcelas = quantidadeParcelas, DataPrimeiroVencimento = dataPrimeiroVencimento, Taxa = CreditoImobiliario.Taxa }); CreditoVO creditoVOImobiliario = creditoImobiliario.Calcular(); Console.Clear(); Console.WriteLine($"Status do Crédito: {creditoVOImobiliario.Status}\nValor Total Com Juros: R$ {creditoVOImobiliario.ValorTotalComJuros.ToString("#.##")}\nValor do Juros: R$ {creditoVOImobiliario.ValorJuros.ToString("#.##")}"); Console.ReadKey(); Console.Clear(); }
public void Validacao_DeveFalharValidacaoComNumeroDeParcelasMaior() { //Arrange creditoConsignado = new CreditoImobiliario() { ValorDoCredito = 50580, QuantidadeDeParcelas = 80, DataPrimeiroVencimento = DateTime.Now.AddDays(20) }; //Act var statusValidacao = creditoConsignado.Validacao(); //Assert Assert.False(statusValidacao); }
public void Validacao_DeveConfirmarValidacaoCorreta() { //Arrange creditoConsignado = new CreditoImobiliario() { ValorDoCredito = 50580, QuantidadeDeParcelas = 24, DataPrimeiroVencimento = DateTime.Now.AddDays(20) }; //Act var statusValidacao = creditoConsignado.Validacao(); //Assert Assert.True(statusValidacao); }
public void CalcularJuros_DeveCalcularJurosComValorCorreto() { //Arrange creditoConsignado = new CreditoImobiliario() { ValorDoCredito = 50000, QuantidadeDeParcelas = 24, DataPrimeiroVencimento = DateTime.Now.AddDays(20) }; //Act creditoConsignado.CalcularJuros(); //Assert Assert.Equal(4500, creditoConsignado.ValorDoJuros); Assert.Equal(54500, creditoConsignado.ValorDoCreditoComJuros); }
public static void SimulacaoLiberacaoCredito(TiposDeCredito tipoCredito, float valorCredito, int quantidadeParcela, DateTime dataVencimentoParcela) { Credito credito = null; switch (tipoCredito) { case TiposDeCredito.CreditoDireto: credito = new CreditoDireto(); break; case TiposDeCredito.CreditoConsignado: credito = new CreditoConsignado(); break; case TiposDeCredito.CreditoPessoaJuridica: credito = new CreditoPessoaJuridica(); break; case TiposDeCredito.CreditoPessoaFisica: credito = new CreditoPessoaFisica(); break; case TiposDeCredito.CreditoImobiliario: credito = new CreditoImobiliario(); break; } credito.ValorDoCredito = valorCredito; credito.QuantidadeDeParcelas = quantidadeParcela; credito.DataPrimeiroVencimento = dataVencimentoParcela; ExibeEntrada(credito, tipoCredito); credito.CalcularJuros(); var statusAprovacao = credito.Validacao(); ExibeResultado(credito, statusAprovacao); }
static void Main(string[] args) { Console.WriteLine("Any Bank - Emprestimos"); Console.WriteLine("Escolha o tipo um tipo de crédito:(digite o número da opção)"); Console.WriteLine("1 - Credito Direto"); Console.WriteLine("2 - Credito Consignado"); Console.WriteLine("3 - Credito Pessoa Jurídica"); Console.WriteLine("4 - Credito Pessoa Física"); Console.WriteLine("5 - Credito Imobiliário"); Emprestimo emprestimo = null; var opt = Console.ReadLine(); if (int.TryParse(opt, out int x)) { switch (x) { case 1: emprestimo = new CreditoDireto(); break; case 2: emprestimo = new CreditoConsignado(); break; case 3: emprestimo = new CreditoPessoaJuridica(); break; case 4: emprestimo = new CreditoPessoaFisica(); break; case 5: emprestimo = new CreditoImobiliario(); break; default: Console.WriteLine("Opção inválida"); return; } } Console.WriteLine("Entre com o valor do crédito:"); var vlr = Console.ReadLine(); if (!double.TryParse(vlr, out double valor)) { Console.WriteLine("Valor inválido!"); } emprestimo.Valor = valor; Console.WriteLine("Entre com o número de parcelas:"); var p = Console.ReadLine(); if (!int.TryParse(p, out int totalParcelas)) { Console.WriteLine("Número de parcelas inválido!"); } emprestimo.Parcelas = totalParcelas; Console.WriteLine("Entre com a data da primeira parcela:(dd/MM/yyyy)"); var sdt = Console.ReadLine(); if (!DateTime.TryParseExact(sdt, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out DateTime dt)) { Console.WriteLine("Data inválida!"); } Console.WriteLine(dt.ToString()); emprestimo.VencimentoInicial = dt; emprestimo.Simular(); Console.WriteLine(emprestimo.ToString()); Console.ReadKey(); }
static void Main(string[] args) { Menu(); ConsoleKeyInfo opcao = Console.ReadKey(); Console.Clear(); Credito dados = DadosCredito(); bool validacaoValorMaximo, validacaoQtdeParcelas, validacaoVencimento, validacaoPJ; string valorJuros, valorTotalJuros; valorTotalJuros = valorJuros = string.Empty; switch (opcao.KeyChar) { case '1': dados.PorcentagemJurosCredito = 3; validacaoValorMaximo = new CreditoDireto().ValidarCredito(dados); validacaoQtdeParcelas = new CreditoDireto().ValidarParcelas(dados); validacaoVencimento = new CreditoDireto().ValidarVencimentoParcela(dados); if (validacaoValorMaximo && validacaoQtdeParcelas && validacaoVencimento) { Console.WriteLine("Recusado"); } else { Console.WriteLine("Aprovado"); } valorJuros = new CreditoDireto().ValorJuros(dados).ToString(); valorTotalJuros = new CreditoDireto().ValorTotalJuros(dados).ToString(); Console.WriteLine($"Valor total com juros: R$ {valorTotalJuros}"); Console.WriteLine($"Valor do juros: R$ {valorJuros}"); break; case '2': dados.PorcentagemJurosCredito = 1; validacaoValorMaximo = new CreditoConsignado().ValidarCredito(dados); validacaoQtdeParcelas = new CreditoConsignado().ValidarParcelas(dados); validacaoVencimento = new CreditoConsignado().ValidarVencimentoParcela(dados); if (validacaoValorMaximo && validacaoQtdeParcelas && validacaoVencimento) { Console.WriteLine("Recusado"); } else { Console.WriteLine("Aprovado"); } valorJuros = new CreditoConsignado().ValorJuros(dados).ToString(); valorTotalJuros = new CreditoConsignado().ValorTotalJuros(dados).ToString(); Console.WriteLine($"Valor total com juros: R$ {valorTotalJuros}"); Console.WriteLine($"Valor do juros: R$ {valorJuros}"); break; case '3': dados.PorcentagemJurosCredito = 5; validacaoValorMaximo = new CreditoPessoaJuridica().ValidarCredito(dados); validacaoQtdeParcelas = new CreditoPessoaJuridica().ValidarParcelas(dados); validacaoVencimento = new CreditoPessoaJuridica().ValidarVencimentoParcela(dados); validacaoPJ = new CreditoPessoaJuridica().ValidarCreditoMinimoPJ(dados); if (validacaoValorMaximo && validacaoQtdeParcelas && validacaoVencimento && validacaoPJ) { Console.WriteLine("Recusado"); } else { Console.WriteLine("Aprovado"); } valorJuros = new CreditoPessoaJuridica().ValorJuros(dados).ToString(); valorTotalJuros = new CreditoPessoaJuridica().ValorTotalJuros(dados).ToString(); Console.WriteLine($"Valor total com juros: R$ {valorTotalJuros}"); Console.WriteLine($"Valor do juros: R$ {valorJuros}"); break; case '4': dados.PorcentagemJurosCredito = 3; validacaoValorMaximo = new CreditoPessoaFisica().ValidarCredito(dados); validacaoQtdeParcelas = new CreditoPessoaFisica().ValidarParcelas(dados); validacaoVencimento = new CreditoPessoaFisica().ValidarVencimentoParcela(dados); if (validacaoValorMaximo && validacaoQtdeParcelas && validacaoVencimento) { Console.WriteLine("Recusado"); } else { Console.WriteLine("Aprovado"); } valorJuros = new CreditoPessoaFisica().ValorJuros(dados).ToString(); valorTotalJuros = new CreditoPessoaFisica().ValorTotalJuros(dados).ToString(); Console.WriteLine($"Valor total com juros: R$ {valorTotalJuros}"); Console.WriteLine($"Valor do juros: R$ {valorJuros}"); break; case '5': dados.PorcentagemJurosCredito = 9; validacaoValorMaximo = new CreditoImobiliario().ValidarCredito(dados); validacaoQtdeParcelas = new CreditoImobiliario().ValidarParcelas(dados); validacaoVencimento = new CreditoImobiliario().ValidarVencimentoParcela(dados); if (validacaoValorMaximo && validacaoQtdeParcelas && validacaoVencimento) { Console.WriteLine("Recusado"); } else { Console.WriteLine("Aprovado"); } valorJuros = new CreditoImobiliario().ValorJuros(dados).ToString(); valorTotalJuros = new CreditoImobiliario().ValorTotalJuros(dados).ToString(); Console.WriteLine($"Valor total com juros: R$ {valorTotalJuros}"); Console.WriteLine($"Valor do juros: R$ {valorJuros}"); break; default: break; } }