public static EnrichedOrderRequestMessageToLocalWarehouse EnrichMessage(OrderRequestMessageToLocalWarehouse message) { EnrichedOrderRequestMessageToLocalWarehouse enrichedMessage = new EnrichedOrderRequestMessageToLocalWarehouse { ProductId = message.ProductId, CustomerId = message.CustomerId, Country = GetCustomer(message.CustomerId).country, OrderId = message.OrderId, ReplyTo = message.ReplyTo }; return(enrichedMessage); }
private void HandleOrderRequest(CustomerOrderRequestMessage request) { int customerId = request.CustomerId; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Request received from customer " + customerId); Console.WriteLine("Trying to send the request to a local warehouse."); Console.ResetColor(); OrderRequestMessageToLocalWarehouse requestMessage = new OrderRequestMessageToLocalWarehouse { ProductId = request.ProductId, CustomerId = request.CustomerId, OrderId = ++orderId, ReplyTo = replyQueueName }; EnrichedOrderRequestMessageToLocalWarehouse enrichedMessage = MessageEnricher.EnrichMessage(requestMessage); // Uses Topic Based Routing to send the request to a local warehouse. The topic // is enrichedMessage.Country. bus.Publish <EnrichedOrderRequestMessageToLocalWarehouse>(enrichedMessage, enrichedMessage.Country); }