/// <summary> /// cost for ride for passenger /// </summary> /// <param name="passenger"></param> /// <returns>cost</returns> public override double Cost(Passenger.Passenger passenger) { try { return(150.0 / this.Passengers.Count); } catch (Exception e) { throw new Exception(e.Message, e); } }
public static void Main(string[] args) { var passanger = new Passenger.Passenger("Joe Doe"); passanger.BuyTickets(new Ticket.Ticket("Joe Doe")); passanger.CheckInOnline(); passanger.SubmitBaggage(new Baggage.Baggage(18.5F)); passanger.GetBoardinPass(); // Mistake - the passpro with wrong name passanger.PassControl(new Passport.Passport("Joe Doe_")); // No mistake - the passpro with correct name passanger.PassControl(new Passport.Passport("Joe Doe")); passanger.PassGate(); }
/// <summary> /// cost for ride for passenger /// </summary> /// <param name="passenger"></param> /// <returns>cost</returns> public override double Cost(Passenger.Passenger passenger) { switch (passenger) { case Child child: return(14); case Preferential preferential: return(15); case Adult adult: return(25); default: return(Cost(new Adult(""))); } }