Esempio n. 1
0
        internal static void MenuVeiculo(Agencia agencia, JsonBase jsonBase)
        {
            while (true)
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.DarkCyan;
                Console.WriteLine($"AGÊNCIA: {agencia.NomeAgencia.ToUpper()}");
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.WriteLine("SELECIONE UMA OPÇÃO DE [1] A [3]\n");
                Console.ForegroundColor = ConsoleColor.Gray;
                Console.WriteLine("[1] - CADASTRAR VEÍCULO");
                Console.WriteLine("[2] - ABASTECER VEÍCULO");
                Console.WriteLine("[3] - LISTAR");
                Console.WriteLine("[ESC] - VOLTAR AO MENU INICIAL");

                ConsoleKeyInfo tecla = Console.ReadKey();
                Veiculo        veiculo;

                switch (tecla.Key)
                {
                case ConsoleKey.Escape:
                    MenuInicial(agencia, jsonBase);
                    break;

                case ConsoleKey.NumPad1:
                    agencia.CadastrarVeiculo();
                    jsonBase.Salvar(agencia);
                    Console.Write("\nPRESSIONE QUALQUER TECLA PARA VOLTAR..");
                    Console.ReadKey();
                    break;

                case ConsoleKey.NumPad2:
                    if (agencia.Veiculos.Count > 0)
                    {
                        try
                        {
                            Console.Clear();
                            Console.Write("\nESCOLHA UM VEÍCULO PARA ABASTECER!\n");
                            agencia.ExibirVeiculos();
                            Console.Write("\nDIGITE O NÚMERO DA PLACA DO VEÍCULO PARA ABASTECER: ");
                            string placa = ValidarPlaca(Console.ReadLine().ToUpper());
                            veiculo = agencia.Veiculos.Find(x => x.Placa == placa);
                            veiculo.Abastecer();
                            jsonBase.Salvar(agencia);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine($"ERRO INESPERADO! - {e.Message}");
                        }
                    }
                    else
                    {
                        Console.WriteLine("\nNÃO HÁ VEÍCULOS CADASTRADOS!");
                    }

                    Console.Write("\nPRESSIONE QUALQUER TECLA PARA VOLTAR..");
                    Console.ReadKey();
                    break;

                case ConsoleKey.NumPad3:
                    if (agencia.Veiculos.Count > 0)
                    {
                        agencia.ExibirVeiculos();
                        Console.Write("\nDESEJA EXIBIR ALGUM VEÍCULO ESPECÍFICO? (S/N): ");
                        string opcao = ValidarOpcoesSOuN(Console.ReadLine().ToUpper());
                        if (opcao == "S")
                        {
                            agencia.ExibirVeiculoDetalhado();
                        }
                    }
                    else
                    {
                        Console.WriteLine("NÃO HÁ VEÍCULOS CADASTRADOS!");
                    }
                    Console.Write("\nPRESSIONE QUALQUER TECLA PARA VOLTAR..");
                    Console.ReadKey();
                    break;

                default:
                    Console.Write("\nPRESSIONE QUALQUER TECLA PARA VOLTAR..");
                    Console.ReadKey();
                    MenuVeiculo(agencia, jsonBase);
                    break;
                }
            }
        }