示例#1
0
 public void Andar()
 {
     if (!Passageiros.Exists(pessoa => pessoa.Dirige))
     {
         throw new Exception("Nenhum dos passageiros é um motorista");
     }
 }
示例#2
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);
        }
示例#3
0
        /// <summary>
        /// Método para listar os passageiros do voo
        /// </summary>
        /// <returns>Dados sobre os passageiros do voo</returns>
        public StringBuilder ListarPassageiros()
        {
            StringBuilder texto = new StringBuilder();

            texto.AppendFormat("-----------> Lista de Passageiros do Voo\n", NomeVoo, NumeroVoo);

            //Se possui algum registro na lista de passageiros iremos mostrar os dados
            if (Passageiros.Count > 0)
            {
                //Percorremos a lista de passageiros para mostrar seus dados
                foreach (Passageiro passageiro in Passageiros.Cast <Passageiro>())
                {
                    texto.AppendFormat("\n-----> Passageiro: {0} {1}\n", passageiro.Nome, passageiro.Sobrenome);
                    texto.AppendFormat("\tCPF: {0}\n", passageiro.CPF.ToString().PadLeft(11, '0'));
                    texto.AppendFormat("\tNúmero da passagem: {0}\n", passageiro.NumeroPassagem);
                    texto.AppendFormat("\tNúmero da poltrona: {0}\n", passageiro.NumeroPoltrona);
                }
            }
            else
            {
                texto.AppendLine("\n-----> Não possui passageiros cadastrados no voo.\n");
            }

            return(texto);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Passageiros passageiros = db.Passageiros.Find(id);

            db.Passageiros.Remove(passageiros);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#5
0
        public void AdicionarPassageiro(Pessoa passageiro)
        {
            if (Passageiros.Count >= QuantidadeMaximaDePassageiros)
            {
                throw new Exception("Você excedeu a quantidade máxima de passageiros");
            }

            Passageiros.Add(passageiro);
        }
 public ActionResult Edit([Bind(Include = "IdPassageiro,IdPassageiroUsuario")] Passageiros passageiros)
 {
     if (ModelState.IsValid)
     {
         db.Entry(passageiros).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdPassageiroUsuario = new SelectList(db.Usuarios, "IdUsuario", "FirstName", passageiros.IdUsuario);
     return(View(passageiros));
 }
        public ActionResult Create([Bind(Include = "IdPassageiro,IdPassageiroUsuario")] Passageiros passageiros)
        {
            if (ModelState.IsValid)
            {
                db.Passageiros.Add(passageiros);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.IdPassageiroUsuario = new SelectList(db.Usuarios, "IdUsuario", "FirstName", passageiros.IdUsuario);
            return(View(passageiros));
        }
        // GET: Passageiros/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Passageiros passageiros = db.Passageiros.Find(id);

            if (passageiros == null)
            {
                return(HttpNotFound());
            }
            return(View(passageiros));
        }
        // GET: Passageiros/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Passageiros passageiros = db.Passageiros.Find(id);

            if (passageiros == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IdPassageiroUsuario = new SelectList(db.Usuarios, "IdUsuario", "FirstName", passageiros.IdPassageiro);
            return(View(passageiros));
        }
示例#10
0
        public ActionResult Create([Bind(Include = "IdUsuario,FirstName,LastName,CPF,DataNascimento,Sexo,Telefone,Status,TipoUsuario")] Usuarios usuarios)
        {
            if (ModelState.IsValid)
            {
                db.Usuarios.Add(usuarios);
                //if (usuarios.TipoUsuario.ToString().Equals("Passageiro"))
                //{
                Passageiros passageiros = new Passageiros();
                passageiros.IdUsuario = usuarios.IdUsuario;
                db.Passageiros.Add(passageiros);
                db.SaveChanges();
                //}
                return(RedirectToAction("Index"));
            }

            return(View(usuarios));
        }
示例#11
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);
        }
示例#12
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);
        }
示例#13
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
            });
        }
示例#14
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);
        }
示例#15
0
 public void addPassageiro()
 {
     Passageiros.addPassageiro();
 }
示例#16
0
 public Controller()
 {
     Passageiros = new Passageiros();
     Veiculos    = new Veiculos();
     Viagens     = new Viagens();
 }
示例#17
0
 private bool JaExisteCaroneiroNaCarona(Colaborador colaborador)
 {
     return(Passageiros.Any(cc => cc.ColaboradorId == colaborador.Id));
 }