示例#1
0
文件: Ticket.cs 项目: gvmikhailov/NET
 internal void CallEvent(KassaEvents e, TicketsStateHandler handler)
 {
     if (handler != null && e != null)
     {
         handler(this, e);
     }
 }
示例#2
0
        static void Main(string[] args)
        {
            BookingOffice bookingOffice = new BookingOffice();

            // Наличие билетов:
            bookingOffice.GetAvailabilityTickets("Praga");
            bookingOffice.GetAvailabilityTickets(BookingOffice.cities[BookingOffice.rnd.Next(BookingOffice.cities.Count)]);

            // Запрос цены:
            Console.WriteLine("Цена билета первого класса Moscow - Warsav для взрослого пассажира компании Аэрофлот - {0} руб.", bookingOffice.GetTicketPrice("Warsav", "First", "Аэрофлот", "Adult"));

            // Покупка билетов
            for (int i = 0; i < 10; i++)
            {
                bookingOffice.BuyTicket();
            }
            Console.WriteLine();
            // Бронирование билетов:
            for (int i = 0; i < 10; i++)
            {
                bookingOffice.BookTicket();
                Console.WriteLine();
            }
            Console.WriteLine();
            // Посмотрим, какие куплены билеты:
            Ticket.ShowAllTickets();
            Console.WriteLine();
            // Теперь попробуем вернуть три билета:
            for (int i = 0; i < 3; i++)
            {
                int key = BookingOffice.rnd.Next(1, 20);
                Console.WriteLine("Пытаемся вернуть билет за нумером {0}", key);
                var ticket = bookingOffice.GetTicket(key);
                bookingOffice.RefundTicket(ticket);
            }
            Console.WriteLine();
            // Теперь посмотрим сколько денег в кассе
            Ticket.BuyingTickets();
            Console.WriteLine();
            // И наконец логи операций
            KassaEvents.PrintLogs();
        }
示例#3
0
文件: Ticket.cs 项目: gvmikhailov/NET
 internal void RefundingTicket(KassaEvents e)
 {
     CallEvent(e, OnRefundingTicket);
 }
示例#4
0
文件: Ticket.cs 项目: gvmikhailov/NET
 internal void BuyingTicket(KassaEvents e)
 {
     CallEvent(e, OnBuyingTicket);
 }
示例#5
0
 internal static void RefundTicketHandler(object sender, KassaEvents e)
 {
     Console.WriteLine(e.Message + " " + e.Events);
 }