コード例 #1
0
        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);
        }
コード例 #2
0
 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;
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 private static void PatternTest_AddActionDelegatedEvent(OrderAddEvent evt)
 {
     Console.WriteLine("使用事件:Order_Number:{0},Send a Email.", evt.OrderId);
 }