using System.Collections.Generic; using AyaNova.DataList; using Newtonsoft.Json; namespace AyaNova.Models { internal sealed class DataListTableProcessingOptions : DataListProcessingBase { internal List Columns { get; set; } internal const int MaxPageSize = 1000; internal const int DefaultOffset = 0; internal const int DefaultLimit = 25; internal int? Offset { get; set; } internal int? Limit { get; set; } internal DataListTableProcessingOptions( DataListTableRequest request, IDataListProcessing dataList, DataListSavedColumnView savedView, DataListSavedFilter savedFilter) { //set some values from request Limit = request.Limit; Offset = request.Offset; base.ClientCriteria = request.ClientCriteria; base.DataListKey = request.DataListKey; //SET COLUMNS Columns = JsonConvert.DeserializeObject>(savedView.Columns); //SET SORTBY base.SortBy = JsonConvert.DeserializeObject>(savedView.Sort); //SET FILTER if (request.FilterId != 0) { base.Filter = JsonConvert.DeserializeObject>(savedFilter.Filter); } //SERVER FILTER PROCESSING HERE CODE SEE DATALISTFETCHER } } }