This commit is contained in:
@@ -85,7 +85,7 @@ namespace AyaNova.DataList
|
||||
qWhere = DataListSqlFilterCriteriaBuilder.DataFilterToSQLCriteria(DataList.FieldDefinitions, TheFilter, DataList.FieldDefinitions, UserId);
|
||||
//ORDER BY CLAUSE - SORT
|
||||
//BUILD ORDER BY AND APPEND IT
|
||||
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
|
||||
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, TheFilter);
|
||||
}
|
||||
|
||||
//LIMIT AND OFFSET CLAUSE - PAGING
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AyaNova.DataList
|
||||
{
|
||||
@@ -10,7 +12,7 @@ namespace AyaNova.DataList
|
||||
|
||||
// public static string DefaultPickListOrderBy => "ORDER BY NAME ASC";
|
||||
|
||||
public static string DataFilterToSQLOrderBy(AyaNova.Models.DataListFilter dataFilter)
|
||||
public static string DataFilterToSQLOrderBy(List<AyaDataListFieldDefinition> objectFieldsList, AyaNova.Models.DataListFilter dataFilter)
|
||||
{
|
||||
|
||||
if (string.IsNullOrWhiteSpace(dataFilter.Sort))
|
||||
@@ -28,9 +30,19 @@ namespace AyaNova.DataList
|
||||
var SortItem = SortArray[i];
|
||||
var fld = SortItem["fld"].Value<string>();
|
||||
var dir = SortItem["dir"].Value<string>();
|
||||
|
||||
//Get the correct sql column name
|
||||
AyaDataListFieldDefinition DataListField = objectFieldsList.FirstOrDefault(x => x.FieldKey == fld);
|
||||
#if (DEBUG)
|
||||
//Developers little helper
|
||||
if (DataListField == null)
|
||||
{
|
||||
throw new System.ArgumentNullException($"DEV ERROR in DataListSqlFilterOrderByBuilder.cs: field {fld} specified in template was NOT found in ObjectFields list");
|
||||
}
|
||||
#endif
|
||||
var SQLValueColumnName = DataListField.GetSqlValueColumnName();
|
||||
|
||||
sb.Append(" ");
|
||||
sb.Append(fld);
|
||||
sb.Append(SQLValueColumnName);
|
||||
sb.Append(" ");
|
||||
sb.Append(dir == "+" ? "ASC" : "DESC");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user