예제 #1
0
        public void Calcular(VariaveisEntrada variaveisEntrada)
        {
            if (Validar(variaveisEntrada))
            {
                status = true;

                double taxaJuros = 0;

                switch (variaveisEntrada.TipoCredito)
                {
                case 1:
                    taxaJuros = 2;
                    break;

                case 2:
                    taxaJuros = 1;
                    break;

                case 3:
                    taxaJuros = 5;
                    break;

                case 4:
                    taxaJuros = 3;
                    break;

                case 5:
                    taxaJuros = (9 / 12);
                    break;
                }
                valorJuros = Convert.ToDouble((variaveisEntrada.ValorCredito * (variaveisEntrada.QtdeParcelas * taxaJuros) / 100), CultureInfo.CurrentCulture);
                valorTotal = variaveisEntrada.ValorCredito + valorJuros;
            }
        }
예제 #2
0
        private bool Validar(VariaveisEntrada variaveisEntrada)
        {
            DateTime dataVenctoMinimo = DateTime.Now.AddDays(15);
            DateTime dataVenctoMaximo = DateTime.Now.AddDays(40);

            if (variaveisEntrada.TipoCredito < 1 || variaveisEntrada.TipoCredito > 5)
            {
                return(false);
            }

            if (variaveisEntrada.ValorCredito > 1000000 || (variaveisEntrada.TipoCredito.Equals(3) && variaveisEntrada.ValorCredito < 15000))
            {
                return(false);
            }

            if (variaveisEntrada.QtdeParcelas < 5 || variaveisEntrada.QtdeParcelas > 72)
            {
                return(false);
            }

            if (variaveisEntrada.DataVenctoInicial < dataVenctoMinimo || variaveisEntrada.DataVenctoInicial > dataVenctoMaximo)
            {
                return(false);
            }

            return(true);
        }
예제 #3
0
        static void Main(string[] args)
        {
            string           strMsgTemp;
            VariaveisEntrada variaveisEntrada = new VariaveisEntrada();

            #region TipoCredito
            while (true)
            {
                strMsgTemp = "Informe o código do tipo de crédito desejado:" + Environment.NewLine +
                             "Cód - Tipo" + Environment.NewLine +
                             "1 - Crédito Direto." + Environment.NewLine +
                             "2 - Crédito Consignado." + Environment.NewLine +
                             "3 - Crédito Pessoa Jurídica." + Environment.NewLine +
                             "4 - Crédito Pessoa Física." + Environment.NewLine +
                             "5 - Crédito Imobiliário." + Environment.NewLine;

                Console.WriteLine(strMsgTemp);
                try
                {
                    int nTipoCreditoTemp = int.Parse(Console.ReadLine());
                    variaveisEntrada.TipoCredito = nTipoCreditoTemp;
                    break;
                }
                catch
                {
                    Console.WriteLine("Tipo de Crédito inválido, verifique." + Environment.NewLine);
                }
            }
            #endregion

            #region ValorCredito
            while (true)
            {
                strMsgTemp = Environment.NewLine + "O valor máximo que pode ser solicitado é de R$ 1.000.000,00" +
                             (variaveisEntrada.TipoCredito.Equals(3) ? Environment.NewLine + "Para o crédito de pessoa jurídica, o valor mínimo a ser liberado é de R$ 15.000,00." : string.Empty) +
                             Environment.NewLine + "Informe o valor do crédito:" + Environment.NewLine;

                Console.WriteLine(strMsgTemp);
                try
                {
                    double nValorSolicitadoTemp = double.Parse(Console.ReadLine(), CultureInfo.CurrentCulture);
                    variaveisEntrada.ValorCredito = nValorSolicitadoTemp;
                    break;
                }
                catch
                {
                    Console.WriteLine("Valor do crédito inválido, verifique." + Environment.NewLine);
                }
            }
            #endregion

            #region QtdeParc
            while (true)
            {
                strMsgTemp = Environment.NewLine + "Informe quantidade de parcelas" +
                             Environment.NewLine + "Deve ser no mínimo 5 e no máximo 72" + Environment.NewLine;

                Console.WriteLine(strMsgTemp);
                try
                {
                    int nQtdeParcTemp = int.Parse(Console.ReadLine());
                    variaveisEntrada.QtdeParcelas = nQtdeParcTemp;
                    break;
                }
                catch
                {
                    Console.WriteLine("Número de parcelas inválido, verifique." + Environment.NewLine);
                }
            }
            #endregion

            #region DataVenctoInicial
            while (true)
            {
                strMsgTemp = Environment.NewLine + "Informe o primeiro vencimento" +
                             Environment.NewLine + "Deve ser entre " + DateTime.Now.AddDays(15).ToString("dd/MM/yyyy") + " e " + DateTime.Now.AddDays(40).ToString("dd/MM/yyyy") + Environment.NewLine;

                Console.WriteLine(strMsgTemp);
                try
                {
                    DateTime dDataTemp = DateTime.Parse(Console.ReadLine());
                    variaveisEntrada.DataVenctoInicial = dDataTemp;
                    break;
                }
                catch
                {
                    Console.WriteLine("Data do primeiro vencimento inválida, verifique." + Environment.NewLine);
                }
            }
            #endregion

            #region Credito
            Credito credito = new Credito();
            credito.Calcular(variaveisEntrada);

            if (credito.status)
            {
                strMsgTemp = Environment.NewLine + "Status do crédito 'APROVADO'" +
                             Environment.NewLine + string.Format("Valor total com juros R$ {0}", credito.valorTotal.ToString("F2", CultureInfo.CurrentCulture)) +
                             Environment.NewLine + string.Format("Valor do juros R$ {0}", credito.valorJuros.ToString("F2", CultureInfo.CurrentCulture));
            }
            else
            {
                strMsgTemp = Environment.NewLine + "Status do crédito 'REPROVADO'";
            }

            Console.WriteLine(strMsgTemp);
            #endregion

            Console.ReadKey();
        }