50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using AyaNova.DataList;
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
namespace AyaNova.Models
|
|
{
|
|
internal sealed class DataListTableProcessingOptions : DataListProcessingBase
|
|
{
|
|
internal List<string> 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<List<string>>(savedView.Columns);
|
|
|
|
//SET SORTBY
|
|
base.SortBy = JsonConvert.DeserializeObject<Dictionary<string, string>>(savedView.Sort);
|
|
|
|
//SET FILTER
|
|
if (request.FilterId != 0)
|
|
{
|
|
base.Filter = JsonConvert.DeserializeObject<List<DataListFilterOption>>(savedFilter.Filter);
|
|
}
|
|
|
|
|
|
//SERVER FILTER PROCESSING HERE CODE SEE DATALISTFETCHER
|
|
|
|
|
|
|
|
}
|
|
}
|
|
} |