private void HandleOrderReplyMessage(BankReplyMessage message) { int SSN; Console.WriteLine("Reply received"); //RetailerOrderRequestMessage requestMessage = new RetailerOrderRequestMessage(); //if (message.ItemsInStock > 0) //{ // Console.ForegroundColor = ConsoleColor.Red; // Console.WriteLine("Reply received from warehouse" + message.WarehouseId); // Console.WriteLine("Order Id: " + message.OrderId); // Console.WriteLine("Items in stock: " + message.ItemsInStock); // Console.WriteLine("Days for delivery: " + message.DaysForDelivery); // Console.WriteLine("Shipping charge: " + message.ShippingCharge); // Console.ResetColor(); // customerIdsForOutstandingOrderRequests.TryGetValue(message.OrderId, out customerId); // // Uses Topic Based Routing to send the reply to a customer. // // The topic ís the customerId from the reply message. // bus.Publish<BankReplyMessage>(message, customerId.ToString()); //} //else if (message.DaysForDelivery == 2) //{ // // Publish the message again to all warehouses, if the reply // // was from a local warehouse (DaysForDelivery = 2) with no // // items in stock. // Console.ForegroundColor = ConsoleColor.Red; // Console.WriteLine("Publishing to all warehouses"); // Console.ResetColor(); // //RetailerOrderRequestMessage m = message as RetailerOrderRequestMessage; // OrderBroadcastRequestMessage broadcastRequestMessage = new OrderBroadcastRequestMessage // { // OrderId = message.OrderId, // ProductId = message.ProductId, // ReplyTo = replyQueueName, // Country = "" // }; //bus.Publish<OrderBroadcastRequestMessage>(broadcastRequestMessage); }
private void HandleOrderEvent(BankQuoteRequestMessage message) { SynchronizedWriteLine("Order request received:\n" + "customer history lengh: " + message.HistoryLength + "\n" + "customer SSN: " + message.SSN + "\n" + "loan amount: " + message.LoanAmount + "\n" + "loan duration: " + message.LoanTerm ); if (maxLoanTerm > message.LoanTerm) { BankReplyMessage replyMessage = new BankReplyMessage { QuoteID = "gfdgdf", InterestRate = 4 }; // Send the reply message to the broker bus.Send(message.ReplyTo, replyMessage); SynchronizedWriteLine("Reply sent back to retailer"); } }