Exemple #1
0
        public void Handle(PlaceOrderSaga placeOrder)
        {
            //Console.Out.WriteLine("Received PlaceOrderSaga command, order Id: " + placeOrder.OrderId);
            // Bus.Return(PlaceOrderStatus.Ok);
            // Console.Out.WriteLine("Sent Ok status for orderId [{0}].", placeOrder.OrderId);

            // Process Order...
            // Console.Out.WriteLine("Processing received order....");

            if (Convert.ToBoolean(ConfigurationManager.AppSettings["EmitEvent"]))
            {
                Bus.Publish <OrderPlaced>(m => m.OrderId = placeOrder.OrderId);
            }
            // Console.Out.WriteLine("Sent Order placed event for orderId [{0}].", placeOrder.OrderId);

            System.Threading.Thread.Sleep(Convert.ToInt32(ConfigurationManager.AppSettings["ThreadStopTime"]));

            accelerometer.IncrementMessages();
            // Console.Out.WriteLine("MSGs/Seconds [{0}].", accelerometer.GetSpeed());


            if (placeOrder.OrderId.EndsWith("00"))
            {
                Logger.Warn(string.Format("MSGs/Seconds [{0}].", accelerometer.GetSpeed()));
            }

            this.MarkAsComplete();
        }
        private void SendBulkSaga(int numberOfMessages)
        {
            Parallel.For(0, numberOfMessages, i =>
            {
                var placeOrder = new PlaceOrderSaga {
                    OrderId = "order" + i
                };
                Bus.Send(placeOrder);//.Register(PlaceOrderReturnCodeHandler, this);
            });

            Console.WriteLine(string.Format("Commands for sagas sent"));
        }