/// <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); } }
/// <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); } }
/// <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); } }