public IResponse Visit(OrderQueryRequest request)
        {
            PagedList <OrderDetailsResponse> pagedResponse = _restWrapper.GetWithPaging <OrderDetailsResponse>(GetEndpoint(request),
                                                                                                               accessTokenHeader: GetHeaderToken(request), currentPageNumber: request.PageNumber);

            return(new OrderQueryResponse(pagedResponse));
        }
Exemplo n.º 2
0
        public IList <OrderDetailsResponse> ListOrders(string accessToken, int locationId, int startPageNum, int endPageNum, out bool areThereMorePages)
        {
            if (endPageNum < startPageNum)
            {
                endPageNum = startPageNum;
            }

            OrderQueryRequest request = new OrderQueryRequest(accessToken, locationId, startPageNum);

            PagedList <OrderDetailsResponse> orders = _restWrapper.GetWithPaging <OrderDetailsResponse>(
                uri: GetOrderQueryRequestEndpoint(request),
                accessTokenHeader: FormatAccessTokenString(unspecifiedUserAccessToken: request.AccessToken),
                currentPageNumber: request.PageNumber);

            // Repackage the returned PagedList as an IList<OrderDetailsResponse>
            List <OrderDetailsResponse> retval = new List <OrderDetailsResponse>();

            do
            {
                retval.AddRange(orders);
                areThereMorePages = orders.HasNextPage;
                if (areThereMorePages)
                {
                    orders = orders.NextPage();
                }
            } while (areThereMorePages && orders.CurrentPage <= endPageNum);

            return(retval);
        }