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()); }
public BookingEventViewModel() { BookingEventSingleton = CatalogSingleton <Booking> .Instance; _handler = new BookingEventHandler(this); _bookUserCommand = new RelayCommand(Handler.CreateBooking); }