示例#1
0
        public void GenerateTicketPrice()
        {
            int newPrice = pricingModel.GenerateTicketPrice(ticketPrice, ticketsAvailable, orderCounter);

            if (newPrice < ticketPrice)
            {
                // price cut!! Trigger an event that calls the Travel Agency
                if (PriceCutEvent != null)
                {
                    PriceCutEvent(Thread.CurrentThread.Name, newPrice);
                }

                // if it reaches 20, the airline thread will terminate
                priceCutCounter++;
                ticketPrice = newPrice;
            }
            else
            {
                ticketPrice = newPrice; // no event
            }
        }