public async Task SkipAndTakeAsyncGeneric()
        {
            TestHttpHandler hijack = new TestHttpHandler();

            hijack.SetResponseContent("[]");
            IMobileServiceClient service = new MobileServiceClient("http://www.test.com", "secret...", hijack);

            IMobileServiceTable <StringType> table = service.GetTable <StringType>();
            List <StringType> people = await table.Skip(100).Take(10).ToListAsync();

            Assert.Contains(hijack.Request.RequestUri.ToString(), "StringType");
            Assert.Contains(hijack.Request.RequestUri.ToString(), "$skip=100");
            Assert.Contains(hijack.Request.RequestUri.ToString(), "$top=10");
        }
コード例 #2
0
 public async Task <List <TodoItem> > GetTodos(int skip, int take)
 {
     try
     {
         return(await _table
                .Skip(skip)
                .Take(take)
                .ToListAsync());
     }
     catch (Exception ex)
     {
         var e = ex;
         throw;
     }
     finally { }
 }
コード例 #3
0
 public async Task <bool> GetNext()
 {
     if (countOfItems == 0)
     {
         await CountOfAllItems();
     }
     if (countOfItems >= countOfAllItems)
     {
         return(false);
     }
     else
     {
         this.List.AddRange(await GoodsTable.Skip(countOfItems).Take(10).ToListAsync());
         countOfItems += 10;
         return(true);
     }
 }
コード例 #4
0
        private static async Task <IEnumerable <T> > GetAll <T>(this IMobileServiceTable <T> mobileServiceTable, Int32 count)
        {
            var list  = new List <T>();
            var items = await mobileServiceTable.Take(count).IncludeTotalCount().ToEnumerableAsync();

            list.AddRange(items);
            var countProvider = items as ITotalCountProvider;

            if (countProvider != null)
            {
                var current = count;
                while (current < countProvider.TotalCount)
                {
                    items = await mobileServiceTable.Skip(current).ToEnumerableAsync();

                    list.AddRange(items);
                    current += count;
                }
            }
            return(list);
        }
コード例 #5
0
 public IMobileServiceTableQuery <T> Skip(int count)
 {
     return(_table.Skip(count));
 }
コード例 #6
0
 public async Task <ICollection <T> > ReadItemsAsync(int start, int count)
 {
     return(await table.Skip(start).Take(count).ToListAsync());
 }