This commit is contained in:
@@ -85,7 +85,7 @@ namespace AyaNova.DataList
|
|||||||
qWhere = DataListSqlFilterCriteriaBuilder.DataFilterToSQLCriteria(DataList.FieldDefinitions, TheFilter, DataList.FieldDefinitions, UserId);
|
qWhere = DataListSqlFilterCriteriaBuilder.DataFilterToSQLCriteria(DataList.FieldDefinitions, TheFilter, DataList.FieldDefinitions, UserId);
|
||||||
//ORDER BY CLAUSE - SORT
|
//ORDER BY CLAUSE - SORT
|
||||||
//BUILD ORDER BY AND APPEND IT
|
//BUILD ORDER BY AND APPEND IT
|
||||||
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
|
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, TheFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
//LIMIT AND OFFSET CLAUSE - PAGING
|
//LIMIT AND OFFSET CLAUSE - PAGING
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Linq;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace AyaNova.DataList
|
namespace AyaNova.DataList
|
||||||
{
|
{
|
||||||
@@ -10,7 +12,7 @@ namespace AyaNova.DataList
|
|||||||
|
|
||||||
// public static string DefaultPickListOrderBy => "ORDER BY NAME ASC";
|
// 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))
|
if (string.IsNullOrWhiteSpace(dataFilter.Sort))
|
||||||
@@ -28,9 +30,19 @@ namespace AyaNova.DataList
|
|||||||
var SortItem = SortArray[i];
|
var SortItem = SortArray[i];
|
||||||
var fld = SortItem["fld"].Value<string>();
|
var fld = SortItem["fld"].Value<string>();
|
||||||
var dir = SortItem["dir"].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(" ");
|
||||||
sb.Append(fld);
|
sb.Append(SQLValueColumnName);
|
||||||
sb.Append(" ");
|
sb.Append(" ");
|
||||||
sb.Append(dir == "+" ? "ASC" : "DESC");
|
sb.Append(dir == "+" ? "ASC" : "DESC");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user