コード例 #1
0
ファイル: Broker.cs プロジェクト: Karath/SystemSynopsisLoan
        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);
        }
コード例 #2
0
ファイル: Bank.cs プロジェクト: Karath/SystemSynopsisLoan
        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");
            }
        }