/// <summary> /// Solicita dados e insere novo operador /// </summary> private static void InserirOperador() { try { Console.WriteLine("Inserir novo operador"); Console.WriteLine("Digite o usuário: "); string entradaUsuario = EeS.ReadConsoleLine(); bool operadorDisponivel = false; Operador operador = null; do { operadorDisponivel = true; if ((operador = Operador.BuscaOperador(pListOperadores: listOperadores, entradaUsuario, pVerboseForAvailability: true)) != null) { operadorDisponivel = false; Console.WriteLine("Tente outro usuário: "); entradaUsuario = EeS.ReadConsoleLine(); } } while (operadorDisponivel == false); Console.Write("Digite o Nome do Operador: "); string entradaNome = EeS.ReadConsoleLine(); Console.Write("Crie a senha do operador: "); String entradaSenha = EeS.ReadConsoleLine(); Operador novoOperador = new Operador(pUsuario: entradaUsuario, pSenha: entradaSenha, pNome: entradaNome); listOperadores.Add(novoOperador); //salva o arquivo incluindo o novo operador ArmazenaDados.SaveList(pathListOperadoresFile, listOperadores); logger.Trace("Operador Criado: " + novoOperador.ToString()); } catch (Exception ex) { logger.Error(ex); } }
/// <summary> /// solicita dados e exclui operador /// </summary> private static void ExcluirOperador() { try { Console.WriteLine("Excluir Operador"); Operador operador = null; Console.WriteLine("Digite o usuário a ser excluído: "); string entradaUsuario = EeS.ReadConsoleLine(); if (operadorLogado.Usuario.Equals(entradaUsuario)) { Console.WriteLine("Você não pode excluir a si mesmo."); //todo incluir logoff automático em caso se autoexclusao return; } if ((operador = Operador.BuscaOperador(pListOperadores: listOperadores, pUsuario: entradaUsuario, pVerboseForAvailability: false)) == null) { return; } if (!operadorLogado.SolicitarSenha()) { return; } if (listOperadores.Remove(operador)) { //salva o arquivo incluindo o novo operador ArmazenaDados.SaveList(pathListOperadoresFile, listOperadores); logger.Trace($"Operador [{operador.Usuario}] removido com sucesso!"); } } catch (Exception ex) { logger.Error(ex); } }
static void Main(string[] args) { try { AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit); //AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) => //{ // //https://stackify.com/csharp-exception-handling-best-practices/ // logger.Warn(eventArgs.Exception.ToString()); //}; CarregaDados(); operadorLogado = Operador.ExecutaLoginOperador(listOperadores); if (operadorLogado != null) { logger.Trace($"Operador [{operadorLogado.Nome}] logado com sucesso!"); } while (true) { if (ExibeMenu1() == "Z") { Console.Clear(); operadorLogado = Operador.ExecutaLoginOperador(listOperadores); if (operadorLogado != null) { logger.Trace($"Operador [{operadorLogado.Nome}] logado com sucesso!"); } } } ////mantém console aberto até que pressionem uma tecla: //EeS.ReadConsoleLine(); } catch (Exception ex) { logger.Error(ex.Message); } }
private static void ListarOperadores() { try { Console.WriteLine("Listar operadores:"); if (listOperadores.Count == 0) { Console.WriteLine("Nenhum operador cadastrado."); return; } for (int i = 0; i < listOperadores.Count; i++) { Operador operador = listOperadores[i]; Console.WriteLine(operador); } } catch (Exception ex) { logger.Error(ex); } }
private static string ExibeMenu1() { try { bool isValidOption = false; string opcaoUsuario = ""; do { Console.WriteLine(); Console.WriteLine("OPERADOR: " + operadorLogado.Nome); Console.WriteLine("Informe a opção desejada:"); Console.WriteLine("1- Depositar"); Console.WriteLine("2- Sacar"); Console.WriteLine("3- Transferir"); Console.WriteLine(); Console.WriteLine("A- Listar contas"); Console.WriteLine("B- Inserir nova conta"); Console.WriteLine("C- Excluir conta"); Console.WriteLine("D- Alterar senha de conta"); Console.WriteLine(); Console.WriteLine("E- Listar operadores"); Console.WriteLine("F- Inserir Operador"); Console.WriteLine("G- Remover Operador"); Console.WriteLine("H- Alterar senha do Operador"); Console.WriteLine(); Console.WriteLine("L- Limpar Tela"); Console.WriteLine("S- Sair/Fechar"); Console.WriteLine("Z- Fazer Logoff"); //todo implementar menu com setas Console.WriteLine(); opcaoUsuario = EeS.ReadConsoleLine().ToUpper(); switch (opcaoUsuario) { case "1": isValidOption = true; Depositar(); break; case "2": isValidOption = true; Sacar(); break; case "3": isValidOption = true; Transferir(); break; case "A": isValidOption = true; ListarContas(); break; case "B": isValidOption = true; InserirConta(); break; case "C": isValidOption = true; ExcluirConta(); break; case "D": isValidOption = true; AlterarSenhaDeConta(); break; case "E": isValidOption = true; ListarOperadores(); break; case "F": isValidOption = true; InserirOperador(); break; case "G": isValidOption = true; ExcluirOperador(); break; case "H": isValidOption = true; AlterarSenhaDoOperador(); break; case "L": isValidOption = true; Console.Clear(); break; case "S": isValidOption = true; Environment.Exit(0); break; case "Z": //logoff isValidOption = true; logger.Trace($"Operador [{operadorLogado.Nome}] fez logoff."); operadorLogado = null; break; default: isValidOption = false; Console.WriteLine("Opção inválida!"); break; } } while (isValidOption == false); return(opcaoUsuario); } catch (Exception ex) { logger.Error(ex.Message); return(""); } }