예제 #1
0
        public void Init()
        {
            using (var publisher = new BookingPublisher())
            {
                var subscribera = new BookingSubscriber();
                var subscriberb = new BookingSubscriber();
                var subscriberc = new BookingSubscriber();
                var subscriberd = new BookingSubscriber();

                publisher.Subscribe(subscribera);
                publisher.Subscribe(subscriberb);
                publisher.Subscribe(subscriberc);
                publisher.Subscribe(subscriberd);

                publisher.MakeBooking(new Booking());
                publisher.MakeBooking(new Booking());
                publisher.MakeBooking(new Booking());
                publisher.MakeBooking(new Booking());
                publisher.MakeBooking(new Booking());
                publisher.MakeBooking(new Booking());
            }

            var handlerTest = new BookingEventHandler();
            handlerTest.Subscribe((o, a) => Debug.WriteLine($"EventHandler1 fired for: {a.BookingId}"));
            handlerTest.Subscribe((o, a) => Debug.WriteLine($"EventHandler2 fired for: {a.BookingId}"));
            handlerTest.OnPublish(new BookingEventArgs());
        }
예제 #2
0
        public BookingEventViewModel()
        {
            BookingEventSingleton = CatalogSingleton <Booking> .Instance;

            _handler = new BookingEventHandler(this);


            _bookUserCommand = new RelayCommand(Handler.CreateBooking);
        }