This commit is contained in:
2021-01-30 01:15:30 +00:00
parent c9f25e1757
commit 9bba5b903d
2 changed files with 21 additions and 23 deletions

View File

@@ -37,10 +37,10 @@ namespace AyaNova.DataList
//#### TODO: below block into above method to clean it up and centralize it //#### TODO: below block into above method to clean it up and centralize it
//STATIC filter options from server // //STATIC filter options from server
List<DataListFilterOption> StaticServerFilterOptions = new List<DataListFilterOption>(); // List<DataListFilterOption> StaticServerFilterOptions = new List<DataListFilterOption>();
if (DataList is IDataListInternalCriteria) // if (DataList is IDataListInternalCriteria)
StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListTableOptions); // StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListTableOptions);
// //Get the public field key names in a list from the listview // //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 //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(); var AllUniqueFieldKeysRequiredForQuery = dataListTableOptions.Columns.Union(StaticServerFilterOptions.Select(z => z.Column).ToList()).ToList();
//Add the internal filters into the listoptions existing filters // //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 // //NOTE: There is currently no overlap between internal filtered columns and filters coming from the client
foreach (DataListFilterOption dfo in StaticServerFilterOptions) // foreach (DataListFilterOption dfo in StaticServerFilterOptions)
dataListTableOptions.Filter.Add(dfo); // dataListTableOptions.Filter.Add(dfo);
//BUILD THE QUERY //BUILD THE QUERY

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using AyaNova.DataList; using AyaNova.DataList;
using AyaNova.Biz; using AyaNova.Biz;
using Newtonsoft.Json; using Newtonsoft.Json;
@@ -39,28 +40,25 @@ namespace AyaNova.Models
if (request.FilterId != 0 && savedFilter != null) if (request.FilterId != 0 && savedFilter != null)
base.Filter = JsonConvert.DeserializeObject<List<DataListFilterOption>>(savedFilter.Filter); base.Filter = JsonConvert.DeserializeObject<List<DataListFilterOption>>(savedFilter.Filter);
//SERVER FILTER PROCESSING HERE CODE SEE DATALISTFETCHER //ADD STATIC SERVER FILTERS
List<DataListFilterOption> StaticServerFilterOptions = new List<DataListFilterOption>(); List<DataListFilterOption> StaticServerFilterOptions = new List<DataListFilterOption>();
if (dataList is IDataListInternalCriteria) if (dataList is IDataListInternalCriteria)
StaticServerFilterOptions = ((IDataListInternalCriteria)dataList).DataListInternalCriteria(userId, userRoles, request.ClientCriteria); StaticServerFilterOptions = ((IDataListInternalCriteria)dataList).DataListInternalCriteria(userId, userRoles, request.ClientCriteria);
/*
// //Get the public field key names in a list from the listview //Add the internal filters into the listoptions existing filters
// List<string> PublicListViewFieldList = listOptions.Columns; //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 internal List<string> AllUniqueColumnKeysReferenced
//NOTE: There is currently no overlap between internal filtered columns and filters coming from the client {
foreach (DataListFilterOption dfo in StaticServerFilterOptions) get
dataListTableOptions.Filter.Add(dfo); {
*/ return Columns.Union(base.Filter.Select(z => z.Column).ToList()).ToList();
}
} }
} }