Beispiel #1
0
        protected override async Task Receive(object sender, BasicDeliverEventArgs e)
        {
            var    stockOrder        = (StockOrder)e.Body.ToArray().DeSerialize(typeof(StockOrder));
            var    correlationId     = e.BasicProperties.CorrelationId;
            string responseQueueName = e.BasicProperties.ReplyTo;

            using (var colour = new ScopedConsoleColourHelper())
            {
                Console.WriteLine($"Received: {stockOrder.OrderNumber}  with CorrelationId {correlationId}");
                foreach (var item in stockOrder.OrderItems)
                {
                    Console.WriteLine($"Name: {item.Name} Quantity: {item.Quantity}");
                }
            }
            var responseMessage = await _orderItemManager.Order(stockOrder);

            Reply(correlationId, responseQueueName, responseMessage.Serialize());
        }