public static GridDataResult <T> ApplyPaging <T>(this IQueryable <T> query, GridState queryModel) { if (queryModel == null) { queryModel = new GridState() { skip = 0, take = 10 } } ; var count = query.Count(); if (queryModel == null || (queryModel.take == 0 && queryModel.skip == 0)) { queryModel = new GridState() { skip = 0, take = 10 } } ; query = query.Skip(queryModel.skip).Take(queryModel.take); var result = new GridDataResult <T>(); result.total = count; result.data = query.ToList(); return(result); }
public async static Task <GridDataResult <T> > ApplyPagingAsync <T>(this IQueryable <T> query, GridState queryModel) { var count = query.Count(); if (queryModel == null) { queryModel = new GridState() { skip = 0, take = 10 } } ; query = query.Skip(queryModel.skip).Take(queryModel.take); var result = new GridDataResult <T>(); result.total = count; result.data = await query.ToListAsync(); return(result); }