public void SetPagingArguments(IPagingArguments pagingArguments) { _rowsCount = pagingArguments.RowsCount; _pageSize = pagingArguments.PageSize; _pageIndex = pagingArguments.PageIndex; _sortingColumns = pagingArguments.SortingColumns; PagingFunction = pagingArguments.PagingFunction; }
public void SetPagingArguments(int rowsCount, int pageSize, int pageIndex, Action pagingFunction = null, PagingSortingColumns sortingColumns = null) { RowsCount = rowsCount; PageSize = pageSize; PageIndex = pageIndex; if (pagingFunction != null) { PagingFunction = pagingFunction; } if (sortingColumns != null) { SortingColumns = sortingColumns; } }
public static IQueryable <T> ApplySortExpressions(IQueryable <T> customersQuery, PagingSortingColumns sortingColumns) { bool isFirst = true; IOrderedQueryable <T> ordCustomersQuery = null; if (sortingColumns != null) { foreach (var sortCol in sortingColumns) { var param = Expression.Parameter(typeof(T), sortCol.SortMemberPath); var mySortExpression = Expression.Lambda <Func <T, String> >(Expression.Property(param, sortCol.SortMemberPath), param); ordCustomersQuery = customersQuery as IOrderedQueryable <T>; if (isFirst) { if (sortCol.SortDirection == ListSortDirection.Ascending) { customersQuery = customersQuery.OrderBy(mySortExpression); } else { customersQuery = customersQuery.OrderByDescending(mySortExpression); } isFirst = false; } else { if (sortCol.SortDirection == ListSortDirection.Ascending) { ordCustomersQuery = ordCustomersQuery.ThenBy(mySortExpression); } else { ordCustomersQuery = ordCustomersQuery.ThenByDescending(mySortExpression); } } } } if (sortingColumns.Count < 2) { return(customersQuery); } else { return(ordCustomersQuery); } }