This commit is contained in:
2020-02-11 20:11:06 +00:00
parent ef063d5864
commit f41d89facd
2 changed files with 12 additions and 6 deletions

View File

@@ -84,8 +84,11 @@ namespace AyaNova.DataList
//WHERE CLAUSE - FILTER //WHERE CLAUSE - FILTER
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
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, TheFilter); qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, TheFilter);
}else{
//BUILD DEFAULT ORDER BY IF POSSIBLE
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, null);
} }
//LIMIT AND OFFSET CLAUSE - PAGING //LIMIT AND OFFSET CLAUSE - PAGING
@@ -103,7 +106,7 @@ namespace AyaNova.DataList
} }
else else
{ {
qDataQuery = $"{qSelectColumns} {qFrom} {qLimitOffset}"; qDataQuery = $"{qSelectColumns} {qFrom} {qOrderBy} {qLimitOffset}";
qTotalRecordsQuery = $"SELECT COUNT(*) {qFrom}"; qTotalRecordsQuery = $"SELECT COUNT(*) {qFrom}";
} }

View File

@@ -15,16 +15,19 @@ namespace AyaNova.DataList
public static string DataFilterToSQLOrderBy(List<AyaDataListFieldDefinition> objectFieldsList, AyaNova.Models.DataListFilter dataFilter) public static string DataFilterToSQLOrderBy(List<AyaDataListFieldDefinition> objectFieldsList, AyaNova.Models.DataListFilter dataFilter)
{ {
if (string.IsNullOrWhiteSpace(dataFilter.Sort)) if (dataFilter == null || string.IsNullOrWhiteSpace(dataFilter.Sort))
{ {
//sort by default field descending which should in theory always be the id column of the main object in the list //sort by default field descending which should in theory always be the id column of the main object in the list
//which should return the results to user with most recent records at the top if no sort order was specified //which should return the results to user with most recent records at the top if no sort order was specified
if(objectFieldsList[0].FieldKey=="df"){ if (objectFieldsList[0].FieldKey == "df")
{
return $"ORDER BY {objectFieldsList[0].SqlIdColumnName} DESC"; return $"ORDER BY {objectFieldsList[0].SqlIdColumnName} DESC";
}else{ }
else
{
//no default column so no idea how to sort //no default column so no idea how to sort
return string.Empty; return string.Empty;
} }
} }
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();