Exemple #1
0
        /// <summary>
        /// Solicita dados e executa transferência entre contas
        /// </summary>
        private static void Transferir()
        {
            try
            {
                Console.WriteLine("Transferir");
                Cliente clienteOrigem = Cliente.PedeContaEBuscaCliente(listClientes, "Digite o número da conta de origem: ", false);
                if (clienteOrigem == null)
                {
                    return;
                }

                Cliente clienteDestino = Cliente.PedeContaEBuscaCliente(listClientes, "Digite o número da conta de destino: ", false);
                if (clienteDestino == null)
                {
                    return;
                }

                double valorTransferencia = EeS.PedeEvalidaDouble("Digite o valor a ser transferido: ");

                Console.Write("Digite a senha: ");
                string senha = EeS.ReadConsoleLine();

                if (clienteOrigem.Transferir(senha, valorTransferencia, clienteDestino))
                {
                    //salva o arquivo incluindo a nova conta
                    ArmazenaDados.SaveList(pathListClientesFile, listClientes);
                    logger.Trace($"Transferência de {valorTransferencia} realizada de conta [{clienteOrigem.NumConta} - {clienteOrigem.Nome}] para a conta [{clienteDestino.NumConta} - {clienteDestino.Nome}]");
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }
Exemple #2
0
        /// <summary>
        /// Solicita dados e deposita valor
        /// </summary>
        private static void Depositar()
        {
            try
            {
                Console.WriteLine("Depositar");

                Cliente objCliente = Cliente.PedeContaEBuscaCliente(pListClientes: listClientes, pVerboseForAvailability: false);
                if (objCliente == null)
                {
                    return;
                }

                double valorDeposito = EeS.PedeEvalidaDouble("Digite o valor a ser depositado: ");

                if (!operadorLogado.SolicitarSenha())
                {
                    return;
                }

                objCliente.Depositar(valorDeposito);
                //salva o arquivo incluindo a nova conta
                ArmazenaDados.SaveList(pathListClientesFile, listClientes);
                logger.Trace($"Depósito de {valorDeposito} na conta [{objCliente.NumConta} - {objCliente.Nome}] realizado com sucesso!");
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }
Exemple #3
0
        /// <summary>
        /// Solicita dados e insere nova conta de cliente.
        /// </summary>
        private static void InserirConta()
        {
            try
            {
                Console.WriteLine("Inserir nova conta");

                int entradaTipoConta = EeS.PedeEvalidaInteger("Digite 1 para Conta Física ou 2 para Jurídica: ");

                int entradaNumeroConta = EeS.PedeEvalidaInteger("Insira o número desejado para a conta: ");

                bool    contaDisponivel = false;
                Cliente cliente         = null;
                do
                {
                    contaDisponivel = true;
                    if ((cliente = Cliente.BuscaCliente(pListContas: listClientes,
                                                        entradaNumeroConta,
                                                        pVerboseForAvailability: true))
                        != null)
                    {
                        contaDisponivel    = false;
                        entradaNumeroConta = EeS.PedeEvalidaInteger("Insira outro número para a conta: ");
                    }
                } while (contaDisponivel == false);

                Console.Write("Digite o Nome do Cliente: ");
                string entradaNome = EeS.ReadConsoleLine();

                double entradaSaldo = EeS.PedeEvalidaDouble("Digite o saldo inicial: ");

                double entradaCredito = EeS.PedeEvalidaDouble("Digite o crédito concedido: ");

                Console.Write("Crie a senha com 6 dígitos numéricos: ");
                String entradaSenha = EeS.ReadConsoleLine();

                while (!Password.ValidaRegraSenha(entradaSenha))
                {
                    Console.WriteLine("Por favor, insira uma senha numérica de 6 dígitos.");
                    entradaSenha = EeS.ReadConsoleLine();
                }

                Cliente novaConta = new Cliente(pTipoConta: (TipoConta)entradaTipoConta,
                                                pSaldo: entradaSaldo,
                                                pCredito: entradaCredito,
                                                pNome: entradaNome,
                                                pNumConta: entradaNumeroConta,
                                                pSenha: entradaSenha);

                listClientes.Add(novaConta);
                //salva o arquivo incluindo a nova conta
                ArmazenaDados.SaveList(pathListClientesFile, listClientes);
                logger.Trace("Conta Criada: " + novaConta.ToString());
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }