Exemple #1
0
 public Viagem(Garagem origem, Garagem destino, Veiculo veiculo)
 {
     this.Origem  = origem;
     this.Destino = destino;
     this.Veiculo = veiculo;
     this.Id++;
 }
        public Garagem Pesquisar(Garagem garagem)
        {
            Garagem aux = new Garagem();

            foreach (Garagem ga in ListaGaragens)
            {
                if (ga.Equals(garagem))
                {
                    aux = ga;
                }
            }
            return(aux);
        }
Exemple #3
0
        static void Main(string[] args)
        {
            //variaveis
            int    resp = 0;
            int    idgaragem;
            int    idgaragem2;
            string placa;
            int    lotacao;

            string local;
            int    auxiliar = 0;

            Veiculos controlerVeiculos = new Veiculos();
            Garagens ControlerGaragens = new Garagens();
            Viagens  controlerViagens  = new Viagens();

            #region pretederminações
            //adicionando os veiculos já predeterminados

            for (int a = 1; a <= 8; a++)
            {
                controlerVeiculos.adicionar(new Veiculo(a.ToString(), 10));
            }
            //adicionar as garagens já predeterminadas

            ControlerGaragens.incluir(new Garagem(1, "Congonhas"));

            ControlerGaragens.incluir(new Garagem(2, "Guarulhos"));
            #endregion

            do
            {
                Console.WriteLine("1.Cadastrar veiculos.");
                Console.WriteLine("2.Cadastrar garagem.");
                Console.WriteLine("3.Iniciar Jornada.");
                Console.WriteLine("4.Encerrar jornada.");
                Console.WriteLine("5.Listar garagens.");
                Console.WriteLine("6.Listar veiculos em uma garagem.");
                Console.WriteLine("7.Listar veiculos.");
                Console.WriteLine("8.Adicionar veiculos a uma garagem especifica.");
                Console.WriteLine("9.Liberar viagem de uma determinada origem para um determinado destino.");
                resp = Convert.ToInt32(Console.ReadLine());



                switch (resp)
                {
                case 0:
                    Console.Clear();
                    Console.WriteLine("Programa sera Encerrando");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 1:
                    Console.Clear();
                    if (!ControlerGaragens.JornadaAtiva)
                    {
                        Console.WriteLine("Digite a placa do veiculo");
                        placa = Console.ReadLine();
                        Console.WriteLine("Digite a capacidade do veiculo");
                        lotacao = Convert.ToInt32(Console.ReadLine());

                        controlerVeiculos.adicionar(new Veiculo(placa, lotacao));

                        Console.WriteLine("veiculos cadastrados porem não alocados em garagens:");
                        foreach (Veiculo veiculo in controlerVeiculos.ListaVeiculos)
                        {
                            Console.WriteLine(veiculo.toString());
                        }
                    }
                    else
                    {
                        Console.WriteLine("Jornada já iniciada");
                    }

                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 2:

                    Console.Clear();
                    Console.WriteLine("Digite o local da garagem");
                    local = Console.ReadLine();
                    Console.WriteLine("Digite o id");
                    idgaragem = Convert.ToInt32(Console.ReadLine());


                    ControlerGaragens.incluir(new Garagem(idgaragem, local));
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 3:
                    Console.Clear();
                    Console.WriteLine("Jornada Iniciada");

                    ControlerGaragens.iniciarJornada();
                    while (auxiliar < (controlerVeiculos.ListaVeiculos.Count() - 1))
                    {
                        foreach (Garagem garagem in ControlerGaragens.ListaGaragens)
                        {
                            Console.WriteLine(garagem.toString());
                            Console.WriteLine(controlerVeiculos.ListaVeiculos[auxiliar].toString());
                            garagem.adicionarVeiculo(controlerVeiculos.ListaVeiculos[auxiliar]);
                            auxiliar++;

                            Console.ReadKey();
                            Console.Clear();
                        }
                    }

                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 4:
                    Console.Clear();
                    ControlerGaragens.encerrarJornada();
                    Console.WriteLine("Jornada Encerrada");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 5:
                    Console.Clear();


                    foreach (Garagem garagem in ControlerGaragens.ListaGaragens)
                    {
                        Console.WriteLine(garagem.toString());
                    }

                    //aqui controler
                    Garagem garagemPesquisada = ControlerGaragens.Pesquisar(new Garagem(1));
                    Console.WriteLine(garagemPesquisada.toString());

                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 6:
                    Console.Clear();
                    Console.WriteLine("Digite o Codigo da Garagem:");
                    idgaragem = Convert.ToInt32(Console.ReadLine());


                    //pesquisar garagem
                    Garagem aux = ControlerGaragens.Pesquisar(new Garagem(idgaragem));

                    //listarveiculo
                    foreach (Veiculo veiculo in aux.Veiculos)
                    {
                        Console.WriteLine(veiculo.toString() + "\n");
                    }

                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 7:
                    Console.Clear();
                    Console.WriteLine("Programa sera Encerrando");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 8:
                    Console.Clear();
                    Console.WriteLine("Digite a placa do veiculo");
                    placa = Console.ReadLine();
                    Console.WriteLine("Digite a capacidade do veiculo");
                    lotacao = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Digite o codigo da garagem");
                    idgaragem = Convert.ToInt32(Console.ReadLine());

                    ControlerGaragens.Pesquisar(new Garagem(idgaragem));



                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 9:
                    Console.Clear();
                    Console.WriteLine("Digite o id da Garagem Origem");
                    idgaragem = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Digite o id da Garagem Origem");
                    idgaragem2 = Convert.ToInt32(Console.ReadLine());

                    //pesquisar garagem destino
                    ControlerGaragens.Pesquisar(new Garagem(idgaragem));
                    //pesquisar garagem origem
                    ControlerGaragens.Pesquisar(new Garagem(idgaragem2));
                    //pop da origem e push do destino
                    ControlerGaragens.Pesquisar(new Garagem(idgaragem2)).Veiculos.Push(ControlerGaragens.Pesquisar(new Garagem(idgaragem)).Veiculos.Pop());

                    controlerViagens.incluir(new Viagem(ControlerGaragens.Pesquisar(new Garagem(idgaragem)), ControlerGaragens.Pesquisar(new Garagem(idgaragem2)), ControlerGaragens.Pesquisar(new Garagem(idgaragem2)).Veiculos.Pop()));
                    break;

                default:
                    Console.Clear();

                    Console.Clear();
                    break;
                }
            } while (resp != 0);
        }
        public override bool Equals(object obj)
        {
            Garagem g = (Garagem)obj;

            return(this.id.Equals(g.id));
        }
 public void incluir(Garagem garagem)
 {
     ListaGaragens.Add(garagem);
 }