public void ValidaMotorista(Tripulante tripulanteMotorista) { if (!tripulanteMotorista.Motorista) { throw new Exception("Este tripulante selecionado para motorista não pode dirigir"); } }
private void Desembarque(Tripulante passageiro, Tripulante motorista, Locais origem, Locais destino, bool ultimaViagem) { origem.Tripulantes.Remove(passageiro); destino.Tripulantes.Add(passageiro); Console.WriteLine(passageiro.Nome + "(" + passageiro.TipoTripulante.ToString() + ") desceu em: " + destino.Local); if (motorista != null && !ultimaViagem) { Console.WriteLine(motorista.Nome + "(" + motorista.TipoTripulante.ToString() + ") voltou ao Aeroporto"); } }
public void ValidaPassageiro(Tripulante tripulanteMotorista, Tripulante triupantePassageiro) { if ((tripulanteMotorista.TipoTripulante == TipoTripulantes.Piloto && triupantePassageiro.TipoTripulante == TipoTripulantes.Comissaria) || (tripulanteMotorista.TipoTripulante == TipoTripulantes.Comissaria && triupantePassageiro.TipoTripulante == TipoTripulantes.Piloto)) { throw new Exception("O Piloto e a Comissaria não podem ficar a sós"); } if ((tripulanteMotorista.TipoTripulante == TipoTripulantes.ChefeDeServico && triupantePassageiro.TipoTripulante == TipoTripulantes.Oficial) || (tripulanteMotorista.TipoTripulante == TipoTripulantes.Oficial && triupantePassageiro.TipoTripulante == TipoTripulantes.ChefeDeServico)) { throw new Exception("O Chefe de Serviço e o Oficial não podem ficar a sós"); } }
private void RealizarEmbarque(Locais origem, Locais destino, Tripulante passageiro, Tripulante motorista, bool ultimaViagem) { _tripulantesRepository.ValidaMotorista(motorista); _tripulantesRepository.ValidaPassageiro(motorista, passageiro); Console.WriteLine("Saindo de Aeroporto até Avião"); if (ultimaViagem) { Desembarque(motorista, null, origem, destino, ultimaViagem); } Desembarque(passageiro, motorista, origem, destino, ultimaViagem); Console.WriteLine("---------------------------------------------------------------------------------------------"); Thread.Sleep(2000); }
public void Transportar(Locais origem, Locais destino) { Tripulante motorista = null; Tripulante passageiro = null; bool ultimaviagem = false; if (_locaisRepository.ContemTipo(origem, TipoTripulantes.Oficial)) { passageiro = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Oficial); motorista = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Piloto); ForTwo(motorista, passageiro); } else if (_locaisRepository.ContemTipo(origem, TipoTripulantes.Piloto)) { passageiro = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Piloto); motorista = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.ChefeDeServico); ForTwo(motorista, passageiro); } else if (_locaisRepository.ContemTipo(origem, TipoTripulantes.Comissaria)) { passageiro = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Comissaria); motorista = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.ChefeDeServico); ForTwo(motorista, passageiro); } else if (_locaisRepository.ContemTipo(origem, TipoTripulantes.ChefeDeServico)) { passageiro = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.ChefeDeServico); motorista = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Policial); ForTwo(motorista, passageiro); } else { passageiro = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Presidiario); motorista = origem.Tripulantes.FirstOrDefault(t => t.TipoTripulante == TipoTripulantes.Policial); ForTwo(motorista, passageiro); ultimaviagem = true; } RealizarEmbarque(origem, destino, passageiro, motorista, ultimaviagem); }
private List <Tripulante> geraTripulantoAeronave2() { List <Tripulante> lista = new List <Tripulante>(); Tripulante trip = new Tripulante(); trip.CodANAC = "9879879"; trip.Nacionalidade = "BRA"; trip.Nome = "Thiago"; trip.Cargo = "Trip"; Tripulante trip2 = new Tripulante(); trip2.CodANAC = "9879879"; trip2.Nacionalidade = "BRA"; trip2.Nome = "Pedro"; trip2.Cargo = "Trip"; lista.Add(trip); lista.Add(trip2); return(lista); }
private void ForTwo(Tripulante motorista, Tripulante passageiro) { Console.WriteLine("Dirigindo o ForTwo " + motorista.Nome + "(" + motorista.TipoTripulante.ToString() + ")" + " e com o passageiro " + passageiro.Nome + "(" + passageiro.TipoTripulante.ToString() + ")"); }