public void SetFilterItem(Type actionType, Type pagingType, int pageCurrent, int pageSize, string filterField, string filterFieldValue, string orderField, OrderFieldDirection orderFieldDirection) { DataProviderResultFilterItem dataProviderPagingItem = null; dataProviderPagingItem = this.GetFilterItem(pagingType); if (dataProviderPagingItem == null) { PropertyInfo resultSet = null; dataProviderPagingItem = new DataProviderResultFilterItem(); resultSet = actionType.GetProperties() .Where(p => DataProviderResultSet.IsDefined(p, typeof(DataProviderResultSet))) .Where(p => p.PropertyType == pagingType).FirstOrDefault(); if (resultSet != null) { dataProviderPagingItem.DataProviderResultSetID = resultSet.GetCustomAttribute <DataProviderResultSet>().ResultSetID; } dataProviderPagingItem.DataProviderResultType = pagingType; } dataProviderPagingItem.PageCurrent = (pageCurrent > 0) ? pageCurrent : dataProviderPagingItem.PageCurrent; dataProviderPagingItem.PageSize = (pageSize > 0) ? pageSize : dataProviderPagingItem.PageSize; dataProviderPagingItem.FilterField = (string.IsNullOrEmpty(filterField) == false) ? filterField : dataProviderPagingItem.FilterField; dataProviderPagingItem.FilterFieldValue = (string.IsNullOrEmpty(filterFieldValue) == false) ? filterFieldValue : dataProviderPagingItem.FilterFieldValue; dataProviderPagingItem.OrderField = (string.IsNullOrEmpty(orderField) == false) ? orderField : dataProviderPagingItem.OrderField; dataProviderPagingItem.OrderFieldDirection = orderFieldDirection; if (this.FilterList.Count > 0) { this.FilterList[0] = dataProviderPagingItem; } else { this.FilterList.Add(dataProviderPagingItem); } }
public void SetOrder(Type actionType, Type pagingType, string orderField, OrderFieldDirection orderFieldDirection) { this.SetFilterItem(actionType, pagingType, 0, 0, "", "", orderField, orderFieldDirection); }