Esempio n. 1
0
        private void viajar(object sender)
        {
            try
            {
                //testando se o metodo foi chamado por um botão caso contrario foi o timer
                Button b = ((Button)sender);
                while (visitantes.FilaDeVisitantes.Count() != 0 && veiculos.FilaDeVeiculos.Count() != 0)
                {
                    if (veiculos.FilaDeVeiculos.Peek().Lotacao <= visitantes.FilaDeVisitantes.Count())
                    {
                        veiculo = veiculos.FilaDeVeiculos.Dequeue();
                        veiculos.FilaDeVeiculos.Enqueue(veiculo);

                        Viagem viagem = new Viagem(veiculo, DateTime.Now, visitantes.FilaDeVisitantes);
                        viagens.adicionarViagens(viagem);
                        MessageBox.Show("Viagem iniciada via lotação");
                    }
                    else
                    {
                        break;
                    }
                }
            }
            catch
            {
                try
                {
                    if (visitantes.FilaDeVisitantes.Count() > 0 && veiculos.FilaDeVeiculos.Count() > 0)
                    {
                        veiculo = veiculos.FilaDeVeiculos.Dequeue();
                        veiculos.FilaDeVeiculos.Enqueue(veiculo);

                        Viagem viagem = new Viagem(veiculo, DateTime.Now, visitantes.FilaDeVisitantes);
                        viagens.adicionarViagens(viagem);
                        MessageBox.Show("Viagem iniciada pelo tempo");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    MessageBox.Show("Ninguém viajou");
                }
                //TIMER negando a afirmação, caso haja visitantes o timer continua
                if (!(visitantes.FilaDeVisitantes.Count() > 0))
                {
                    timerTempoRestante.Stop();
                }
            }
            //atualizando a lista de embarque
            lstFilaEmbarque.Items.Clear();
            foreach (Visitante vis in visitantes.FilaDeVisitantes)
            {
                lstFilaEmbarque.Items.Add(vis.dadosDoVisitante());
            }
        }
Esempio n. 2
0
 public Viagem pesquisar(Viagem viagem)
 {
     foreach (Viagem vig in listaViagens)
     {
         if (viagem.Equals(vig))
         {
             return(vig);
         }
     }
     return(null);
 }
Esempio n. 3
0
 public bool adicionarViagens(Viagem viagem)
 {
     try {
         this.listaViagens.Enqueue(viagem);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Esempio n. 4
0
        public override bool Equals(object obj)
        {
            Viagem v = (Viagem)obj;

            return(this.HoraViagem.Equals(v.HoraViagem));
        }