示例#1
0
 /// <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);
     }
 }
示例#2
0
        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();
        }
示例#3
0
        /// <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("")));
            }
        }