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")); }