public static void Test() { EventBus.Instance.Subscribe <OrderConfirmEvent>(new SendEmailEventHandler()); EventBus.Instance.Subscribe <OrderAddEvent>(new SendEmailEventHandler()); EventBus.Instance.Subscribe(new ActionDelegatedEventHandler <OrderAddEvent>(new Action <OrderAddEvent>(t => { Console.WriteLine("使用委托:Order_Number:{0},Send a Email.", t.OrderId); }))); EventBus.Instance.Subscribe(new ActionDelegatedEventHandler <OrderAddEvent>(t => { Console.WriteLine("使用表达式:Order_Number:{0},Send a Email.", t.OrderId); })); var o = new ActionDelegatedEventHandler <OrderAddEvent>(); o.AddActionDelegatedEvent += PatternTest_AddActionDelegatedEvent; EventBus.Instance.Subscribe(o); var orderAdd = new OrderAddEvent() { OrderId = "1234567" }; var orderConfirm = new OrderConfirmEvent() { OrderId = "7654321" }; EventBus.Instance.Publish(orderAdd); EventBus.Instance.Publish(orderConfirm); }
private void OnCreatedOrder(OrderAddEvent @event) { Id = @event.Id; CustomerID = @event.CustomerID; EmployeeID = @event.EmployeeID; OrderDate = @event.OrderDate; RequiredDate = @event.RequiredDate; ShippedDate = @event.ShippedDate; ShipName = @event.ShipName; ShipAddress = @event.ShipAddress; ShipCity = @event.ShipCity; ShipPostalCode = @event.ShipPostalCode; ShipCountry = @event.ShipCountry; }
public OrderViewModel CreateViewModel(object @event) { switch (@event) { case OrderAddEvent x: OrderAddEvent orderAddEvent = @event as OrderAddEvent; return(_mapper.Map <OrderViewModel>(orderAddEvent)); case OrderUpdateEvent x: OrderUpdateEvent orderUpdateEvent = @event as OrderUpdateEvent; return(_mapper.Map <OrderViewModel>(orderUpdateEvent)); case OrderRemoveEvent x: OrderRemoveEvent orderRemoveEvent = @event as OrderRemoveEvent; return(_mapper.Map <OrderViewModel>(orderRemoveEvent)); default: return(null); } }
private static void PatternTest_AddActionDelegatedEvent(OrderAddEvent evt) { Console.WriteLine("使用事件:Order_Number:{0},Send a Email.", evt.OrderId); }