From 9bba5b903dd85111e6b3d954219d577b3454350a Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Sat, 30 Jan 2021 01:15:30 +0000 Subject: [PATCH] --- server/AyaNova/DataList/DataListFetcher.cs | 16 +++++------ .../models/DataListTableProcessingOptions.cs | 28 +++++++++---------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/server/AyaNova/DataList/DataListFetcher.cs b/server/AyaNova/DataList/DataListFetcher.cs index 2e749879..d3bfb5ff 100644 --- a/server/AyaNova/DataList/DataListFetcher.cs +++ b/server/AyaNova/DataList/DataListFetcher.cs @@ -37,10 +37,10 @@ namespace AyaNova.DataList //#### TODO: below block into above method to clean it up and centralize it - //STATIC filter options from server - List StaticServerFilterOptions = new List(); - if (DataList is IDataListInternalCriteria) - StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListTableOptions); + // //STATIC filter options from server + // List StaticServerFilterOptions = new List(); + // if (DataList is IDataListInternalCriteria) + // StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListTableOptions); // //Get the public field key names in a list from the listview @@ -50,10 +50,10 @@ namespace AyaNova.DataList //NOTE: this assumes no list options filter colums that don't exist in listoptions.columns var AllUniqueFieldKeysRequiredForQuery = dataListTableOptions.Columns.Union(StaticServerFilterOptions.Select(z => z.Column).ToList()).ToList(); - //Add the internal filters into the listoptions existing filters - //NOTE: There is currently no overlap between internal filtered columns and filters coming from the client - foreach (DataListFilterOption dfo in StaticServerFilterOptions) - dataListTableOptions.Filter.Add(dfo); + // //Add the internal filters into the listoptions existing filters + // //NOTE: There is currently no overlap between internal filtered columns and filters coming from the client + // foreach (DataListFilterOption dfo in StaticServerFilterOptions) + // dataListTableOptions.Filter.Add(dfo); //BUILD THE QUERY diff --git a/server/AyaNova/models/DataListTableProcessingOptions.cs b/server/AyaNova/models/DataListTableProcessingOptions.cs index be14e532..188bce24 100644 --- a/server/AyaNova/models/DataListTableProcessingOptions.cs +++ b/server/AyaNova/models/DataListTableProcessingOptions.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using AyaNova.DataList; using AyaNova.Biz; using Newtonsoft.Json; @@ -39,28 +40,25 @@ namespace AyaNova.Models if (request.FilterId != 0 && savedFilter != null) base.Filter = JsonConvert.DeserializeObject>(savedFilter.Filter); - //SERVER FILTER PROCESSING HERE CODE SEE DATALISTFETCHER - - - + //ADD STATIC SERVER FILTERS List StaticServerFilterOptions = new List(); if (dataList is IDataListInternalCriteria) StaticServerFilterOptions = ((IDataListInternalCriteria)dataList).DataListInternalCriteria(userId, userRoles, request.ClientCriteria); - /* - // //Get the public field key names in a list from the listview - // List PublicListViewFieldList = listOptions.Columns; + //Add the internal filters into the listoptions existing filters + //NOTE: There is currently no overlap between internal filtered columns and filters coming from the client + foreach (DataListFilterOption dfo in StaticServerFilterOptions) + base.Filter.Add(dfo); - //Get the combination of all unique fields from both StaticServerFilterOptions and listOptions - //NOTE: this assumes no list options filter colums that don't exist in listoptions.columns - var AllUniqueFieldKeysRequiredForQuery = dataListTableOptions.Columns.Union(StaticServerFilterOptions.Select(z => z.Column).ToList()).ToList(); + } - //Add the internal filters into the listoptions existing filters - //NOTE: There is currently no overlap between internal filtered columns and filters coming from the client - foreach (DataListFilterOption dfo in StaticServerFilterOptions) - dataListTableOptions.Filter.Add(dfo); - */ + internal List AllUniqueColumnKeysReferenced + { + get + { + return Columns.Union(base.Filter.Select(z => z.Column).ToList()).ToList(); + } } }