Пример #1
0
        protected override async Task <bool> GetDataAsync()
        {
            var resource = new ProductReservationResource(Context);

            _results = await resource.GetProductReservationsAsync(startIndex : StartIndex, pageSize : PageSize, sortBy : SortBy, filter : Filter, responseFields : ResponseFields);

            TotalCount = _results.TotalCount;
            PageCount  = _results.PageCount;
            PageSize   = _results.PageSize;
            return(_results.Items != null && _results.Items.Count > 0);
        }
#pragma warning disable 618

        #region GetProductReservations
        public ProductReservation[] GetProductReservations(MozuContext ctx, string filter = null)
        {
            List <ProductReservation> list = new List <ProductReservation>();

            ProductReservationResource resource = new ProductReservationResource(ctx.GetApiContext());
            int pageSize    = 1000; // will clamp to 200
            int startIndex  = 0;
            int pageCount   = 0;
            int currentPage = 0;

            do
            {
                ProductReservationCollection collection = resource.GetProductReservations(pageSize: pageSize, startIndex: startIndex, filter: filter);

                if (collection == null || collection.Items == null || collection.Items.Count < 1)
                {
                    return(null);
                }
                if (collection.PageSize != pageSize)
                {
                    // clamp our page size if it was too big
                    pageSize = collection.PageSize;
                }
                if (pageCount == 0)
                {
                    pageCount = collection.PageCount;
                }

                foreach (ProductReservation p in collection.Items)
                {
                    list.Add(p);
                }

                currentPage++;
                startIndex += pageSize;
            }while (currentPage < pageCount);

            return(list.ToArray());
        }