Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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("");
            }
        }