protected virtual PagedObject <TEntity> GetPageList(GridPagerObject filter, IQueryable <TEntity> source) { var result = source; //去掉值为空的查询条 if (filter.QueryModel != null && filter.QueryModel.Items.Count > 0) { filter.QueryModel.Items.RemoveAll(x => x.Value == null || string.IsNullOrEmpty(x.Value.ToString())); } if (filter.QueryModel != null && filter.QueryModel.Items.Count > 0) { result = result.Where(filter.QueryModel); } if (!string.IsNullOrWhiteSpace(filter.SortCloumnName)) { result = result.OrderBy(filter.SortCloumnName, (string.IsNullOrEmpty(filter.SortOrder) ? true : filter.SortOrder.ToLower() == "asc")); } else if (string.IsNullOrWhiteSpace(filter.SortCloumnName) && filter.OrderModel != null && filter.OrderModel.Items.Count > 0) { var orderModel = filter.OrderModel.Items.FirstOrDefault(); result = result.OrderBy(orderModel.SortCloumnName, (string.IsNullOrEmpty(orderModel.SortOrder) ? true : orderModel.SortOrder.ToLower() == "asc")); filter.OrderModel.Items.RemoveAt(0); } //判断是多列排序条件 if (filter.OrderModel != null && filter.OrderModel.Items.Count > 0) { foreach (var item in filter.OrderModel.Items) { result = result.ThenBy(item.SortCloumnName, (string.IsNullOrEmpty(item.SortOrder) ? true : item.SortOrder.ToLower() == "asc")); } } var totalCount = result.Count(); result = result.Skip((filter.CurrentPage - 1) * filter.RowsPerPage).Take(filter.RowsPerPage); return(new PagedObject <TEntity>() { ObjectList = result.ToList(), TotalCount = totalCount, GridPager = filter }); }
public PagedObject <TEntity> GetPageList(GridPagerObject filter, IQueryable <TEntity> source, Expression <Func <TEntity, bool> > expression) { throw new NotImplementedException(); }
public PagedObject <TEntity> GetPageList(GridPagerObject filter, string includes) { throw new NotImplementedException(); }
public PagedObject <TEntity> GetPageList(IQueryable <TEntity> source, GridPagerObject filter) { throw new NotImplementedException(); }