public FilterSortPage(
     FilterPredicate <TResultItem, TResultArgs>[] filterPredicates,
     Expression <Func <TResultItem, TResultKey> > primaryKeySelector,
     IEnumerable <string> sortCriteria,
     OrderByBool <TResultItem> orderByBoolKeySelectors,
     OrderByString <TResultItem> orderByStringKeySelectors,
     OrderByDateTime <TResultItem> orderByDateTimeKeySelectors,
     OrderByDateTimeOffset <TResultItem> orderByDateTimeOffsetKeySelectors,
     OrderByInt <TResultItem> orderByIntKeySelectors,
     OrderByDecimal <TResultItem> orderByDecimalKeySelectors,
     int pageSize,
     int pageNumber)
 {
     FilterPredicates                  = filterPredicates;
     PrimaryKeySelector                = primaryKeySelector;
     SortCriteria                      = sortCriteria;
     OrderByBoolKeySelectors           = orderByBoolKeySelectors;
     OrderByStringKeySelectors         = orderByStringKeySelectors;
     OrderByDateTimeKeySelectors       = orderByDateTimeKeySelectors;
     OrderByDateTimeOffsetKeySelectors = orderByDateTimeOffsetKeySelectors;
     OrderByIntKeySelectors            = orderByIntKeySelectors;
     OrderByDecimalKeySelectors        = orderByDecimalKeySelectors;
     PageSize   = pageSize;
     PageNumber = pageNumber;
 }
 public FilterSortPageConfigBuilder <TItem, TArgs, TKey> WithSorting(
     IEnumerable <string> sortCriteria,
     OrderByBool <TItem> orderByBoolKeySelectors                     = null,
     OrderByString <TItem> orderByStringKeySelectors                 = null,
     OrderByDateTime <TItem> orderByDateTimeKeySelectors             = null,
     OrderByDateTimeOffset <TItem> orderByDateTimeOffsetKeySelectors = null,
     OrderByInt <TItem> orderByIntKeySelectors         = null,
     OrderByDecimal <TItem> orderByDecimalKeySelectors = null)
 {
     SortCriteria                      = sortCriteria;
     OrderByBoolKeySelectors           = orderByBoolKeySelectors;
     OrderByStringKeySelectors         = orderByStringKeySelectors;
     OrderByDateTimeKeySelectors       = orderByDateTimeKeySelectors;
     OrderByDateTimeOffsetKeySelectors = orderByDateTimeOffsetKeySelectors;
     OrderByIntKeySelectors            = orderByIntKeySelectors;
     OrderByDecimalKeySelectors        = orderByDecimalKeySelectors;
     return(this);
 }