From bf55d43e3703399de6ddbbca13df7534f204ce10 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 29 Jan 2021 22:03:48 +0000 Subject: [PATCH] --- server/AyaNova/DataList/DataListFetcher.cs | 5 +-- .../DataList/DataListProcessingBase.cs | 2 +- .../AyaNova/DataList/IDataListProcessing.cs | 2 +- .../models/DataListTableProcessingOptions.cs | 34 +++++++++++++++---- 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/server/AyaNova/DataList/DataListFetcher.cs b/server/AyaNova/DataList/DataListFetcher.cs index 8196e3d2..269b1550 100644 --- a/server/AyaNova/DataList/DataListFetcher.cs +++ b/server/AyaNova/DataList/DataListFetcher.cs @@ -32,7 +32,8 @@ namespace AyaNova.DataList throw new System.UnauthorizedAccessException("User roles insufficient for this datalist"); - //turn the DataListTableRequest into a + //turn the DataListTableRequest into a DataListTableProcesingOptions object here + DataListTableProcessingOptions dataListTableOptions = new DataListTableProcessingOptions(dataListTableRequest, DataList, ct); DataList.SetListOptionDefaultsIfNecessary(dataListTableOptions); @@ -261,7 +262,7 @@ namespace AyaNova.DataList // if (string.IsNullOrWhiteSpace(listView)) // listView = DataList.DefaultListView; - DataList.ProcessRequest(dataListSelectionOptions); + DataList.SetListOptionDefaultsIfNecessary(dataListSelectionOptions); // //parse the list view // var ListViewArray = JArray.Parse(listView); diff --git a/server/AyaNova/DataList/DataListProcessingBase.cs b/server/AyaNova/DataList/DataListProcessingBase.cs index ece7acdf..2d9d8c93 100644 --- a/server/AyaNova/DataList/DataListProcessingBase.cs +++ b/server/AyaNova/DataList/DataListProcessingBase.cs @@ -40,7 +40,7 @@ namespace AyaNova.DataList public Dictionary DefaultSortBy { get; set; } //set defaults if not provided in listOptions - public void ProcessRequest(Models.DataListProcessingBase listOptions) + public void SetListOptionDefaultsIfNecessary(Models.DataListProcessingBase listOptions) { //columns, filter and sortby could all be null if (listOptions.Filter == null) diff --git a/server/AyaNova/DataList/IDataListProcessing.cs b/server/AyaNova/DataList/IDataListProcessing.cs index 13cfc9ad..29cc1119 100644 --- a/server/AyaNova/DataList/IDataListProcessing.cs +++ b/server/AyaNova/DataList/IDataListProcessing.cs @@ -23,7 +23,7 @@ namespace AyaNova.DataList List DefaultColumns { get; set; } Dictionary DefaultSortBy { get; set; } - void ProcessRequest(Models.DataListProcessingBase listOptions); + void SetListOptionDefaultsIfNecessary(Models.DataListProcessingBase listOptions); Newtonsoft.Json.Linq.JArray GenerateReturnListColumns(List columns); // List GetFieldListFromListView(JArray listViewArray); diff --git a/server/AyaNova/models/DataListTableProcessingOptions.cs b/server/AyaNova/models/DataListTableProcessingOptions.cs index fff11730..f680d3d5 100644 --- a/server/AyaNova/models/DataListTableProcessingOptions.cs +++ b/server/AyaNova/models/DataListTableProcessingOptions.cs @@ -1,15 +1,35 @@ using System.Collections.Generic; +using AyaNova.DataList; namespace AyaNova.Models { - public sealed class DataListTableProcessingOptions : DataListProcessingBase + internal sealed class DataListTableProcessingOptions : DataListProcessingBase { - public List Columns { get; set; } - public const int MaxPageSize = 1000; - public const int DefaultOffset = 0; - public const int DefaultLimit = 25; - public int? Offset { get; set; } - public int? Limit { get; set; } + 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, + AyContext ct) + { + //set some values from request + Limit=request.Limit; + Offset=request.Offset; + base.ClientCriteria=request.ClientCriteria; + base.DataListKey=request.DataListKey; + + //populate some values from saved filter and default columnview + + //COLUMNS + + + + } } } \ No newline at end of file