Exemplo n.º 1
0
        public void Handle(ShipFinalOrderUps message)
        {
            var reply = new ShipFinalOrderResponse
            {
                Success = true
            };

            Bus.Reply(reply);
        }
        public void Handle(ShipFinalOrderFedex message)
        {
            var client = new HttpClient
            {
                BaseAddress = new Uri("http://localhost:8888"),
                Timeout     = TimeSpan.FromSeconds(10)
            };

            var reply = new ShipFinalOrderResponse();

            using (var response = client.GetAsync("/fedex/shipit").Result)
            {
                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception(response.ReasonPhrase);
                }
            }

            Bus.Reply(reply);
        }
        public void Handle(ShipFinalOrderResponse message)
        {
            if (message.Success)
            {
                ReplyToOriginator(new ShipOrderResponse
                {
                    Success = message.Success
                });
                MarkAsComplete();
                return;
            }

            if (Data.TriedFallback)
            {
                Data.TriedFallback = false;
                ShipOrder(new ShipFinalOrderFedex());
            }
            else
            {
                Data.TriedFallback = true;
                ShipOrder(new ShipFinalOrderUps());
            }
        }