This commit is contained in:
2021-01-30 01:10:10 +00:00
parent 554003b57f
commit c9f25e1757
10 changed files with 27 additions and 27 deletions

View File

@@ -82,15 +82,15 @@ namespace AyaNova.DataList
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();
//ClientCriteria MUST be CustomerId
if (string.IsNullOrWhiteSpace(dataListBase.ClientCriteria))
if (string.IsNullOrWhiteSpace(clientCriteria))
throw new System.ArgumentNullException("CustomerNoteDataList - ClientCriteria is empty, should be Customer ID");
DataListFilterOption FilterOption = new DataListFilterOption() { Column = "metacustomer" };
FilterOption.Items.Add(new DataListColumnFilter() { value = dataListBase.ClientCriteria, op = DataListFilterComparisonOperator.Equality });
FilterOption.Items.Add(new DataListColumnFilter() { value = clientCriteria, op = DataListFilterComparisonOperator.Equality });
ret.Add(FilterOption);
return ret;

View File

@@ -6,6 +6,6 @@ namespace AyaNova.DataList
//Additional criteria for security or other reasons
//hard coded into some lists (e.g. MemoDataList so users can't get other people's memos)
//clientCriteria is additional criteria provided by client to list to process as it sees fit (e.g. CustomerNoteDataList requires customer id from client)
System.Collections.Generic.List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AyaNova.Biz.AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase);
System.Collections.Generic.List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AyaNova.Biz.AuthorizationRoles userRoles, string clientCriteria);
}
}

View File

@@ -115,7 +115,7 @@ namespace AyaNova.DataList
});
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();

View File

@@ -136,7 +136,7 @@ namespace AyaNova.DataList
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();

View File

@@ -120,7 +120,7 @@ namespace AyaNova.DataList
});
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles,string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();

View File

@@ -116,14 +116,14 @@ namespace AyaNova.DataList
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();
//ClientCriteria is optional for this list
//Format for this list is "PARTID,WAREHOUSENAME" where the id is 0 if not filtered or the id to filter
//and bizarrely the warehousename is text or empty if not filtered
var crit = (dataListBase.ClientCriteria ?? "").Split(',').Select(z => z.Trim()).ToArray();
var crit = (clientCriteria ?? "").Split(',').Select(z => z.Trim()).ToArray();
if (crit.Length > 1)
{
//Part criteria

View File

@@ -130,14 +130,14 @@ namespace AyaNova.DataList
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();
//ClientCriteria is optional for this list
//Format for this list is "PARTID,WAREHOUSENAME" where the id is 0 if not filtered or the id to filter
//and bizarrely the warehousename is text or empty if not filtered
var crit = (dataListBase.ClientCriteria ?? "").Split(',').Select(z => z.Trim()).ToArray();
var crit = (clientCriteria ?? "").Split(',').Select(z => z.Trim()).ToArray();
if (crit.Length > 1)
{
//Part criteria

View File

@@ -117,7 +117,7 @@ namespace AyaNova.DataList
}
//Ensure only current user can fetch their reminders
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();

View File

@@ -207,7 +207,7 @@ namespace AyaNova.DataList
// return "[]";//this means effectively don't process this at all
// }
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, Models.DataListProcessingBase dataListBase)
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
List<DataListFilterOption> ret = new List<DataListFilterOption>();
bool HasSupervisorRole =

View File

@@ -42,11 +42,11 @@ namespace AyaNova.Models
//SERVER FILTER PROCESSING HERE CODE SEE DATALISTFETCHER
/*
List<DataListFilterOption> StaticServerFilterOptions = new List<DataListFilterOption>();
if (DataList is IDataListInternalCriteria)
StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListTableOptions);
List<DataListFilterOption> StaticServerFilterOptions = new List<DataListFilterOption>();
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<string> PublicListViewFieldList = listOptions.Columns;