public async Task <IPagedList <Category> > GetPagedResult(int pageIndex, int pageSize, string orderProperty = "", bool asc = true) { var totalCount = await _categoryRepository.CountAll(); var filteredCount = totalCount;//filtered == total IPagedList <Category> result = new PagedList <Category>( _categoryRepository.Query().OrderBy(x => x.Name) .Skip((pageIndex - 1) * pageSize) .Take(pageSize), pageIndex, pageSize, filteredCount, totalCount); return(result); }
public async Task <IPagedList <T> > GetPagedResult(int pageIndex, int pageSize, string orderProperty = "", bool asc = true) { Expression <Func <T, object> > orderLambda = x => x.Id; if (!string.IsNullOrWhiteSpace(orderProperty)) { System.Reflection.PropertyInfo prop = typeof(T).GetProperty(orderProperty); orderLambda = x => prop.GetValue(x, null); } var totalCount = await _repository.CountAll(); var filteredCount = totalCount; IPagedList <T> result = new PagedList <T>( _repository.Query().OrderBy(orderLambda) .Skip((pageIndex - 1) * pageSize) .Take(pageSize), pageIndex, pageSize, filteredCount, totalCount); return(result); }