/// <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); } }
/// <summary> /// Solicita dados e altera a senha da conta de cliente /// </summary> private static void AlterarSenhaDeConta() { try { Console.WriteLine("Alterar Senha De Conta"); Cliente objCliente = Cliente.PedeContaEBuscaCliente(listClientes, pVerboseForAvailability: false); if (objCliente == null) { return; } Console.Write("Digite a senha atual: "); string senhaAntiga = EeS.ReadConsoleLine(); //Validação de senha if (!Password.CompararSenhas(senhaAntiga, objCliente.Salt, objCliente.Senha)) { Console.WriteLine("Senha incorreta!"); return; } Console.Write("Crie a nova senha com 6 dígitos numéricos: "); String senhaNova = EeS.ReadConsoleLine(); while (!Password.ValidaRegraSenha(senhaNova)) { Console.WriteLine("Por favor, insira uma senha numérica de 6 dígitos."); senhaNova = EeS.ReadConsoleLine(); } if (objCliente.AlterarSenha(senhaAntiga, senhaNova)) { //salva o arquivo incluindo a nova conta ArmazenaDados.SaveList(pathListClientesFile, listClientes); logger.Trace($"Senha da conta [{objCliente.NumConta} - {objCliente.Nome} ] alterada com sucesso!"); } } catch (Exception ex) { logger.Error(ex); } }//fim AlterarSenhaDeConta()