예제 #1
0
 public static void ResultadoSolicitacao(Credito credito)
 {
     Console.Clear();
     Console.WriteLine("Resultado da solicitação:");
     Console.WriteLine("Status: {0}", credito.statusDesc);
     Console.WriteLine("Valor total com juros: R$ {0}", credito.JurosTotal.ToString("C"));
     Console.WriteLine("Valor do juros: R$ {0}", credito.juros.ToString("C"));
     if (!credito.status)
     {
         Console.WriteLine("Detalhes:");
         Console.WriteLine(credito.detalhes);
     }
 }
예제 #2
0
        static void Main(string[] args)
        {
            Credito credito = new Credito();

            credito.valor          = Mensagens.EntradaValorCred();
            credito.tipo           = Mensagens.EntradaTipoCred();
            credito.qtdParcelas    = Mensagens.EntradaQtdParcelas();
            credito.dtPrimeiroVenc = Mensagens.EntradaPrimeiroVenc();
            credito.AplicarTaxa();
            ValidacaoRegraNegocio.ValidarCredito(ref credito);
            Mensagens.ResultadoSolicitacao(credito);
            Console.ReadKey();
            #region MyRegion
            //var digito = 0;
            //bool enterPressionado = false;
            //string valEntrada = "";
            //while (!enterPressionado)
            //{
            //    if (digito < 4)
            //    {
            //        Console.SetCursorPosition(valUp.Length - digito, 1);
            //    }
            //    else
            //    {
            //        Console.Write(valEntrada);
            //        Console.SetCursorPosition(3, 1);
            //    }
            //    var _key = Console.ReadKey();
            //    digito++;
            //    var aux = valEntrada;
            //    valEntrada = _key.KeyChar.ToString() + aux;
            //    if (digito == 2)
            //    {
            //        digito++;
            //        aux = valEntrada;
            //        valEntrada = "," + aux;
            //    }

            //    if (_key.Key == ConsoleKey.Enter)
            //    {
            //        enterPressionado = true;
            //    }
            //}
            #endregion
        }
        public static void ValidarCredito(ref Credito credito)
        {
            credito.status = false;
            if (
                !(credito.valor > valorMaxLiberado) &&
                !(credito.qtdParcelas < parcelaMin || credito.qtdParcelas > parcelaMax) &&
                !(credito.tipo == Credito.tipos.pessoaJuridica && credito.valor < valorMinPJ) &&
                !(credito.dtPrimeiroVenc < vencimentoMin || credito.dtPrimeiroVenc > vencimentoMax)
                )
            {
                credito.status     = true;
                credito.statusDesc = "Aprovado";
            }
            else
            {
                credito.status     = false;
                credito.statusDesc = "Negado";

                if (credito.valor > valorMaxLiberado)
                {
                    erroValidacao += String.Format
                                     (
                        "O valor solicitado (R$ {0}) está acima do valor máximo permitido.\n" +
                        "Valor máximo permitido: R$ {1}\n\n", credito.valor.ToString("C"), valorMaxLiberado.ToString("C")
                                     );
                }

                if (
                    credito.qtdParcelas < parcelaMin ||
                    credito.qtdParcelas > parcelaMax
                    )
                {
                    erroValidacao += String.Format
                                     (
                        "A quantidade de {0} parcelas não é permitida.\n" +
                        "Quantidade máxima de parcelas: {1}\n" +
                        "Quantidade mínima de parcelas: {2}\n\n",
                        credito.qtdParcelas, parcelaMax, parcelaMin
                                     );
                    credito.status     = false;
                    credito.statusDesc = "Negado";
                }

                if (
                    credito.tipo == Credito.tipos.pessoaJuridica &&
                    credito.valor < valorMinPJ
                    )
                {
                    erroValidacao += String.Format(
                        "Valor de R$ {0} não é permitido para pessoa juridica.\n" +
                        "O valor mínimo permitido para pessoa juridica é de {1}\n\n",
                        credito.valor.ToString("C"), valorMinPJ.ToString("C")
                        );
                }

                if (
                    (credito.dtPrimeiroVenc < vencimentoMin ||
                     credito.dtPrimeiroVenc > vencimentoMax) &&
                    credito.status)
                {
                    erroValidacao += String.Format(
                        "Data de vencimento {0} não permitida.\n" +
                        "A data da primeira parcela deve ser entre {1} à {2}\n\n",
                        credito.dtPrimeiroVenc.ToShortDateString(),
                        vencimentoMin.ToShortDateString(),
                        vencimentoMax.ToShortDateString()
                        );
                }

                credito.detalhes += erroValidacao;
            }
        }