Пример #1
0
        internal static void SubMenuViagem(Listas listas, PercursoCore percursoCore, VeiculoCore veiculoCore)
        {
            Console.WriteLine("====================INFORMAÇÕES VIAGEM====================\\n\n");

            Console.WriteLine(" [A] - CADASTRAR VIAGEM ");// adicionar viagem na lista de viagens
            Console.WriteLine(" [B] - EXIBIR VIAGENS ");
            Console.WriteLine(" [C] - PLANEJAR VIAGEM \n");
            Console.WriteLine(" [D] - VIAJAR");
            Console.WriteLine(" [E] - EXIBIR RELATÓRIOS\n");

            Console.WriteLine(" [ESC] - SAIR");

            while (true)
            {
                ConsoleKeyInfo tecla = Console.ReadKey(); // armazena uma tecla
                switch (tecla.Key)
                {
                case ConsoleKey.Escape:
                    Console.WriteLine("\n OOBRIGADO! PRESSIONE ENTER PARA SAIR..");
                    Console.ReadKey();
                    Environment.Exit(0);
                    break;

                case ConsoleKey.A:
                    // registra e adiciona uma viagem dentro da lista
                    Console.WriteLine("VOCÊ PODE CADASTRAR MAIS DE UMA VIAGEM.\nQUANTAS VIAGENS VOCÊ QUER CADASTRAR?");
                    int x = Validacoes.ValidarInteiros(Console.ReadLine());

                    for (int i = 1; i <= x; i++)
                    {
                        Console.WriteLine($"DIGITE INFORMAÇÕES DA {i}º VIAGEM ");
                        listas.Viagens.Add(percursoCore.RegistrarViagem());
                    }

                    break;

                case ConsoleKey.B:
                    percursoCore.MostrarViagens(listas);     // EXIBIR MINHA LISTA DE VIAGENS CADASTRADAS
                    Console.ReadKey();

                    break;

                case ConsoleKey.C:
                    percursoCore.EscolhendoCarroEViagem(listas, veiculoCore);                 // escolher carro pela placa e escolher viagem
                    CarroPercurso carroPercurso = percursoCore.EscolherCarroPercurso(listas); // inicar a viagem automatico ou manual
                    veiculoCore.PartindoAutomatico(carroPercurso, listas, percursoCore);
                    Console.ReadKey();

                    break;

                case ConsoleKey.D:

                    break;

                case ConsoleKey.E:

                    listas.VeiculosEViagens.ForEach(s => Console.WriteLine(s));
                    Console.WriteLine("\n\nESCOLHA E DIGITE UMA VIAGEM PARAEXIBIR RELATÓRIO:");
                    int       codigo    = Validacoes.ValidarInteiros(Console.ReadLine());
                    Relatorio relatorio = listas.Relatorios.Where(s => s.CarroPercurso.CodigoId == codigo).FirstOrDefault();
                    Console.Clear();
                    if (relatorio == null)
                    {
                        Console.WriteLine("NÃO EXISTE RELATÓRIOS!\nAPERTE QUALQUER TECLA PARA VOLTAR");
                        Console.ReadKey();
                    }
                    else if (listas.Relatorios.Count(s => s.CarroPercurso.CodigoId == codigo) > 1)
                    {
                        Console.WriteLine(" EXISTE MAIS DE UM RELATÓRIO\nVIAGEM CANCELADA");
                        foreach (Relatorio s in listas.Relatorios)
                        {
                            if (s.CarroPercurso.CodigoId == codigo)
                            {
                                Console.WriteLine(s);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine(relatorio);
                    }

                    break;

                default:
                    Console.Write("\nOBRIGADO, PRESSIONE QUALQUER TECLA PARA REINICIAR");
                    Console.ReadKey();
                    Menu.MenuPrincipal(veiculoCore, listas, percursoCore);

                    break;
                }
            }
        }