public ActionResult Checkout()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest()
                                                     {
                                                         CustomerIdentityToken =
                                                             _formsAuthentication.GetAuthorisationToken()
                                                     };

            GetCustomerResponse customerResponse = _customerService.GetCustomer(customerRequest);
            CustomerView customerView = customerResponse.Customer;
                

            if (customerView.DeliveryAddressBook.Count() > 0)
            {
                OrderConfirmationView orderConfirmationView = new OrderConfirmationView();
                GetBasketRequest getBasketRequest = new GetBasketRequest() {BasketId = base.GetBasketId()};

                GetBasketResponse basketResponse = _basketService.GetBasket(getBasketRequest);
                
                orderConfirmationView.Basket = basketResponse.Basket;
                orderConfirmationView.DeliveryAddresses = customerView.DeliveryAddressBook;
                    
                return View("ConfirmOrder", orderConfirmationView);
            }            
                
            return AddDeliveryAddress();                        
        }
        public GetBasketResponse GetBasket(GetBasketRequest request)
        {
            GetBasketResponse response = new GetBasketResponse();

            Basket basket = _basketRepository.FindBy(request.BasketId);
            BasketView basketView;

            if (basket != null)
                basketView = basket.ConvertToBasketView();
            else
                basketView = new BasketView();

            response.Basket = basketView;

            return response;
        }
        public ActionResult Detail()
        {
            BasketDetailView basketView = new BasketDetailView();
            Guid basketId = base.GetBasketId();

            GetBasketRequest basketRequest = new GetBasketRequest() {BasketId = basketId};
            GetBasketResponse basketResponse = _basketService.GetBasket(basketRequest);

            GetAllDespatchOptionsResponse despatchOptionsResponse = _basketService.GetAllDespatchOptions();

            basketView.Basket = basketResponse.Basket;
            basketView.Categories = base.GetCategories();
            basketView.BasketSummary = base.GetBasketSummaryView();
            basketView.DeliveryOptions = despatchOptionsResponse.DeliveryOptions;
            
            return View("View", basketView);
        }