From e4c1049ebc86eef3c6748fcf0fc9cfc07c857fac Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 28 Jan 2021 00:07:26 +0000 Subject: [PATCH] --- .vscode/launch.json | 2 +- server/AyaNova/DataList/AyaDataList.cs | 25 +++++++++++++++++++--- server/AyaNova/DataList/DataListFetcher.cs | 2 +- server/AyaNova/models/DataListBase.cs | 6 ++++++ 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8fd97968..0e2049e9 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -53,7 +53,7 @@ "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", - "AYANOVA_SERVER_TEST_MODE": "true", + "AYANOVA_SERVER_TEST_MODE": "false", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" diff --git a/server/AyaNova/DataList/AyaDataList.cs b/server/AyaNova/DataList/AyaDataList.cs index dec5ba03..c057be56 100644 --- a/server/AyaNova/DataList/AyaDataList.cs +++ b/server/AyaNova/DataList/AyaDataList.cs @@ -42,14 +42,33 @@ namespace AyaNova.DataList //set defaults if not provided in listOptions public void SetListOptionDefaultsIfNecessary(DataListBase listOptions) { + //columns, filter and sortby could all be null + if (listOptions.Filter == null) + listOptions.Filter = new List(); + + if (listOptions.SortBy == null) + listOptions.SortBy = new Dictionary(); + + //Check Columns if (listOptions is DataListTableOptions) - {//if this doesn't work then just ditch this method in favor of local code, it's not really saving much - if (((DataListTableOptions)listOptions).Columns.Count == 0) - ((DataListTableOptions)listOptions).Columns = DefaultColumns; + { + var dlto = ((DataListTableOptions)listOptions); + if (dlto.Columns == null) + dlto.Columns = new List(); + //if this doesn't work then just ditch this method in favor of local code, it's not really saving much + if (dlto.Columns.Count == 0) + dlto.Columns = DefaultColumns; } + //Check SortBy if (listOptions.SortBy.Count == 0) listOptions.SortBy = DefaultSortBy; + + //Check filter + if (listOptions.Filter == null) + { + + } } diff --git a/server/AyaNova/DataList/DataListFetcher.cs b/server/AyaNova/DataList/DataListFetcher.cs index c775eedf..97ed9b8f 100644 --- a/server/AyaNova/DataList/DataListFetcher.cs +++ b/server/AyaNova/DataList/DataListFetcher.cs @@ -36,7 +36,7 @@ namespace AyaNova.DataList //STATIC filter options from server - List StaticServerFilterOptions = null; + List StaticServerFilterOptions = new List(); if (DataList is IAyaDataListServerCriteria) StaticServerFilterOptions = ((IAyaDataListServerCriteria)DataList).DataListServerCriteria(userId, userRoles, dataListTableOptions); diff --git a/server/AyaNova/models/DataListBase.cs b/server/AyaNova/models/DataListBase.cs index b2429547..b7915f99 100644 --- a/server/AyaNova/models/DataListBase.cs +++ b/server/AyaNova/models/DataListBase.cs @@ -9,6 +9,12 @@ namespace AyaNova.Models public Dictionary SortBy { get; set; } public List Filter { get; set; } public string ClientCriteria { get; set; } + + public DataListBase() + { + SortBy = new Dictionary(); + Filter = new List(); + } } /*