public async Task<ActionResult> BuyCoffee()
        {
            var myOrder = new PlaceOrder
            {
                Coffee = Coffee.Espresso,
                OrderNumber = Guid.NewGuid()
            };

            ErrorCodes result = await messageBus.Send(myOrder).Register<ErrorCodes>(TimeSpan.FromSeconds(50000));

            if (result != ErrorCodes.Success)
            {
                throw new RequestFailedException(result);
            }

            return View("BuyCoffee", new OrderReadyViewModel(myOrder));
        }
        public async Task<ActionResult> BuyCoffeeWcf()
        {
            var myOrder = new PlaceOrder
            {
                Coffee = Coffee.Espresso,
                OrderNumber = Guid.NewGuid()
            };

            var proxy = new BaristaServiceClient();
            ErrorCodes result = (ErrorCodes)await proxy.PutAsync(myOrder);

            if (result != ErrorCodes.Success)
            {
                throw new RequestFailedException(result);
            }

            return View("BuyCoffee", new OrderReadyViewModel(myOrder));
        }
 public async Task<int> Put(PlaceOrder command)
 {
     return await base.Put(command);
 }
 public OrderReadyViewModel(PlaceOrder order)
 {
     Drink = order.Coffee.GetDescription();
 }