Exemplo n.º 1
0
        // 5. Liberar viagem de uma determinada origem para um determinado destino
        // Uma viagem só pode ser liberada quando a jornada diária foi iniciada.
        //
        // Sempre que a lotação de um carro está completa, este sai em direção ao destino e, lá chegando, é
        // estacionado na garagem.
        //
        //Quando um estacionamento fica vazio, uma nova viagem só pode ser iniciada desta origem quando um
        //veículo retornar à garagem.
        static void liberarViagem()
        {
            int idOrigem, idDestino;

            Veiculo veiculo;
            Garagem garOrigem = null, garDestino = null;


            if (garagens.JornadaAtiva)
            {
                mostreGaragens();
                // recolhe do teclado o id e armazena
                idOrigem = recebeInt("Digite o ID origem: ");
                // faz a mesma coisa com o destino
                idDestino = recebeInt("Digite o ID destino: ");
                // quantos passageiros:
                foreach (Garagem garagem in garagens.ListaDeGaragens)
                {
                    if (garagem.Id == idOrigem)
                    {
                        garOrigem = garagem;
                    }
                    if (garagem.Id == idDestino)
                    {
                        garDestino = garagem;
                    }
                }
                if (garOrigem == null && garDestino == null)
                {
                    println("Origem ou Destino não existem");
                }
                else if (garOrigem.Id == garDestino.Id)
                {
                    println("Origem igual destino");
                }
                else if (garOrigem.PilhaVeiculos.Count() != 0)
                {
                    veiculo = garOrigem.PilhaVeiculos.Pop();
                    garDestino.PilhaVeiculos.Push(veiculo);
                    Viagem     viagem    = new Viagem(veiculo, garOrigem, garDestino);
                    Transporte tranporte = new Transporte(veiculo, veiculo.Lotacao);
                    println("\nViagem iniciada com sucesso!");
                    //incluir viagem na lista
                    viagens.incluirViagem(viagem);
                }
                else
                {
                    println("\nGaragem vazia");
                }
            }
            else
            {
                println("");
                println("Jornada ainda não foi iniciada");
                print("");
            }
            Console.ReadKey();
        }
Exemplo n.º 2
0
        public override bool Equals(object obj)
        {
            Viagem v = (Viagem)obj;

            return(this.id.Equals(v.Id));
        }
Exemplo n.º 3
0
 public bool incluirViagem(Viagem viagem)
 {
     ListaDeViagens.Add(viagem);
     return(true);
 }
Exemplo n.º 4
0
 public void incluir(Viagem viagem)
 {
     _Viagens.Enqueue(viagem);
 }