Beispiel #1
0
        public StringBuilder ExcluirPassageiro(Passageiro passageiro)
        {
            StringBuilder mensagemRetorno = new StringBuilder();

            if (passageiro != null)
            {
                Passageiros.Remove(passageiro);

                mensagemRetorno.AppendFormat("\n-----> O passageiro {0} {1} foi removido com sucesso do voo.\n", passageiro.Nome, passageiro.Sobrenome);

                if (FilaEspera.Count > 0)
                {
                    Passageiro passageiroFilaEspera = FilaEspera.Dequeue() as Passageiro;

                    passageiroFilaEspera.NumeroPoltrona = passageiro.NumeroPoltrona;

                    Passageiros.Add(passageiroFilaEspera);

                    mensagemRetorno.AppendFormat("\n-----> O passageiro {0} {1} saiu da fila de espera e foi adicionado no voo {2}, com horário de {3} e a poltrona de número {4}.\n",
                                                 passageiroFilaEspera.Nome, passageiroFilaEspera.Sobrenome, passageiroFilaEspera.NumeroVoo,
                                                 passageiroFilaEspera.HorarioVoo, passageiroFilaEspera.NumeroPoltrona);
                }
            }
            else
            {
                mensagemRetorno.AppendLine("\n-----> O passageiro informado não foi localizado no voo.\n");
            }

            return(mensagemRetorno);
        }
Beispiel #2
0
        public void AdicionarPassageiro(Pessoa passageiro)
        {
            if (Passageiros.Count >= QuantidadeMaximaDePassageiros)
            {
                throw new Exception("Você excedeu a quantidade máxima de passageiros");
            }

            Passageiros.Add(passageiro);
        }
Beispiel #3
0
        public string AdicionarPassageiroVoo(Passageiro passageiro)
        {
            string mensagemRetorno = string.Empty;

            if (Passageiros.Count < 5)
            {
                Passageiros.Add(passageiro);
                mensagemRetorno = "\nPassageiro adicionado no voo com sucesso!\n";
            }
            else if (FilaEspera.Count < 5)
            {
                FilaEspera.Enqueue(passageiro);
                mensagemRetorno = string.Format("\nO número de passageiros do voo está completo, por esse motivo você foi adicionado na {0} posição da lista de espera e caso algum passageiro desista do voo você poderá ser incluído.\n",
                                                FilaEspera.Count);
            }

            return(mensagemRetorno);
        }
Beispiel #4
0
        /// <summary>
        /// Adiciona o passageiro no voo
        /// </summary>
        /// <param name="passageiro">Passageiro que será adicionado no voo</param>
        /// <returns>Informações sobre o passageiro adicionado no voo</returns>
        public string AdicionarPassageiroVoo(Passageiro passageiro)
        {
            string mensagemRetorno = string.Empty;

            //Se a lista não está cheia (5 passageiros), adicionamos o passageiro na lista e retornarmos a mensagem de sucesso.
            if (Passageiros.Count < 5)
            {
                Passageiros.Add(passageiro);
                mensagemRetorno = "\nPassageiro adicionado no voo com sucesso!\n";
            }
            else if (FilaEspera.Count < 5)
            {
                //Caso a lista de passageiros esteja completa, adicionamos o passageiro na fila de espera.
                FilaEspera.Enqueue(passageiro);
                mensagemRetorno = string.Format("\nO número de passageiros do voo está completo, por esse motivo você foi adicionado na {0} posição da lista de espera e caso algum passageiro desista do voo você poderá ser incluído.\n",
                                                FilaEspera.Count);
            }

            return(mensagemRetorno);
        }
Beispiel #5
0
        public void OcupeVaga(Colaborador caroneiro)
        {
            if (caroneiro == null)
            {
                throw new ArgumentNullException("Passageiros");
            }
            if (VagasDisponiveis <= 0)
            {
                throw new VagasInsufucientesException();
            }
            if (JaExisteCaroneiroNaCarona(caroneiro))
            {
                throw new CaroneiroJaExisteNaCaronaException();
            }

            Passageiros.Add(new CaronaColaborador()
            {
                CaronaId      = this.Id,
                ColaboradorId = caroneiro.Id,
                Carona        = this,
                Colaborador   = caroneiro
            });
        }
Beispiel #6
0
        /// <summary>
        /// Método para excluir um passageiro da lista e adicionar o próximo passageiro da fila de espera no voo
        /// </summary>
        /// <param name="passageiro">Passageiro que será excluído da lista</param>
        /// <returns>Informações sobre a exclusão</returns>
        public StringBuilder ExcluirPassageiro(Passageiro passageiro)
        {
            StringBuilder mensagemRetorno = new StringBuilder();

            //Se possui um passageiro para ser excluído
            if (passageiro != null)
            {
                //Removemos o passageiro da lista
                Passageiros.Remove(passageiro);

                mensagemRetorno.AppendFormat("\n-----> O passageiro {0} {1} foi removido com sucesso do voo.\n", passageiro.Nome, passageiro.Sobrenome);

                //Se a fila de espera possuir registro
                if (FilaEspera.Count > 0)
                {
                    //Removemos o primeiro passageiro da fila de espera
                    Passageiro passageiroFilaEspera = FilaEspera.Dequeue() as Passageiro;

                    //Passageiro que foi adicionado no voo pega a poltrona do passageiro que desistiu do voo
                    passageiroFilaEspera.NumeroPoltrona = passageiro.NumeroPoltrona;

                    //Adicionamos esse passageiro na lista de passageiros do voo
                    Passageiros.Add(passageiroFilaEspera);

                    mensagemRetorno.AppendFormat("\n-----> O passageiro {0} {1} saiu da fila de espera e foi adicionado no voo {2}, com horário de {3} e a poltrona de número {4}.\n",
                                                 passageiroFilaEspera.Nome, passageiroFilaEspera.Sobrenome, passageiroFilaEspera.NumeroVoo,
                                                 passageiroFilaEspera.HorarioVoo, passageiroFilaEspera.NumeroPoltrona);
                }
            }
            else
            {
                mensagemRetorno.AppendLine("\n-----> O passageiro informado não foi localizado no voo.\n");
            }

            return(mensagemRetorno);
        }