public IPassenger GetPassengerByType(EPassengerType type) { var passenger = _passengers.Find(x => x.GetPassengerType() == type); _passengers.Remove(passenger); return(passenger); }
public IPassenger MakePassenger(EPassengerType passengerType) { switch (passengerType) { case EPassengerType.CabinChief: return(new Passenger(EPassengerType.CabinChief, new Drive())); case EPassengerType.Pilot: return(new Passenger(EPassengerType.Pilot, new Drive())); case EPassengerType.PoliceOfficer: return(new Passenger(EPassengerType.PoliceOfficer, new Drive())); case EPassengerType.FlightOfficer: return(new Passenger(EPassengerType.FlightOfficer, new NotDrive())); case EPassengerType.Stewardess: return(new Passenger(EPassengerType.Stewardess, new NotDrive())); case EPassengerType.Prisoner: return(new Passenger(EPassengerType.Prisoner, new NotDrive())); default: throw new ArgumentOutOfRangeException(nameof(passengerType), passengerType, null); } }
public Passenger(EPassengerType passengerType, IDriveBehavior driveBehavior) { Id = Guid.NewGuid(); _passegerTypeTranslator = new PassengerTypeTranslator(); _passengerType = passengerType; _driveBehavior = driveBehavior; }
public void MoveToAirplaneToDepartureGate(EPassengerType driverType, EPassengerType passengerType) { var driver = _airplane.GetBoardingAreaManager().GetPassengerByType(driverType); var passenger = _airplane.GetBoardingAreaManager().GetPassengerByType(passengerType); _smarthFortwo.SetDriver(driver); _smarthFortwo.SetPassenger(passenger); RulesPerform(); AddErrors(_smarthFortwo.GetErrors()); if (IsValid()) { _smarthFortwo.GoToDepartureGate(); RulesPerform(); AddErrors(_smarthFortwo.GetErrors()); } }
public string Translate(EPassengerType type) { switch (type) { case EPassengerType.CabinChief: return(SystemMessages.CabinChief); case EPassengerType.Pilot: return(SystemMessages.Pilot); case EPassengerType.FlightOfficer: return(SystemMessages.FlightOfficer); case EPassengerType.None: return(SystemMessages.None); case EPassengerType.Stewardess: return(SystemMessages.Stewardess); case EPassengerType.PoliceOfficer: return(SystemMessages.PoliceOfficer); case EPassengerType.Prisoner: return(SystemMessages.Prisoner); default: return(string.Empty); } }
public PassengerBuilder IsFlightOfficer() { _passengerType = EPassengerType.FlightOfficer; return(this); }
public PassengerBuilder IsPrisoner() { _passengerType = EPassengerType.Prisoner; return(this); }
public PassengerBuilder IsStewardess() { _passengerType = EPassengerType.Stewardess; return(this); }
public PassengerBuilder IsPilot() { _passengerType = EPassengerType.Pilot; return(this); }
public PassengerBuilder IsCop() { _passengerType = EPassengerType.PoliceOfficer; return(this); }
public PassengerBuilder IsCabinChief() { _passengerType = EPassengerType.CabinChief; return(this); }
public PassengerBuilder() { _driveBehavior = new Drive(); _passengerType = EPassengerType.Pilot; }