This commit is contained in:
@@ -10,9 +10,10 @@ using Microsoft.Extensions.Logging;
|
||||
namespace AyaNova.Biz
|
||||
{
|
||||
public static class FilterSqlOrderByBuilder
|
||||
{
|
||||
{
|
||||
|
||||
public static string DefaultOrderBy(){
|
||||
public static string DefaultOrderBy()
|
||||
{
|
||||
return " ORDER BY ID DESC";
|
||||
}
|
||||
|
||||
@@ -33,29 +34,23 @@ namespace AyaNova.Biz
|
||||
|
||||
var SortItem = SortArray[i];
|
||||
var fld = SortItem["fld"].Value<string>();
|
||||
var opType = SortItem["op"].Value<string>();
|
||||
List<string> tagList = new List<string>();
|
||||
string val = string.Empty;
|
||||
if (SortItem["value"].Type != JTokenType.Array)
|
||||
val = SortItem["value"].Value<string>();
|
||||
else
|
||||
{
|
||||
tagList = SortItem["value"].ToObject<List<String>>();
|
||||
}
|
||||
var dir = SortItem["dir"].Value<string>();
|
||||
|
||||
sb.Append(" ");
|
||||
sb.Append(fld);
|
||||
sb.Append(" ");
|
||||
sb.Append(dir == "+" ? "ASC" : "DESC");
|
||||
|
||||
|
||||
sb.Append("(");
|
||||
|
||||
if (i < SortArray.Count - 1)
|
||||
{
|
||||
sb.Append(") AND ");
|
||||
sb.Append(",");
|
||||
}
|
||||
}
|
||||
|
||||
return " ORDER BY " + sb.ToString() + ")";
|
||||
return " ORDER BY " + sb.ToString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}//eoc
|
||||
}//ens
|
||||
|
||||
@@ -189,7 +189,7 @@ namespace AyaNova.Biz
|
||||
q = q + FilterSqlCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, WidgetBiz.FilterOptions(), UserId);
|
||||
|
||||
//BUILD ORDER BY AND APPEND IT
|
||||
q = q + FilterSqlCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, WidgetBiz.FilterOptions(), UserId);
|
||||
q = q + FilterSqlOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
|
||||
|
||||
//TESTING:
|
||||
// //TODO: remove this from production build
|
||||
@@ -199,16 +199,19 @@ namespace AyaNova.Biz
|
||||
// log.LogInformation(TheFilter.Filter);
|
||||
// log.LogInformation("Generated SQL:");
|
||||
// log.LogInformation(q);
|
||||
}else{
|
||||
}
|
||||
else
|
||||
{
|
||||
//GET DEFAULT ORDER BY
|
||||
q = q + FilterSqlOrderByBuilder.DefaultOrderBy();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma warning disable EF1000
|
||||
|
||||
#pragma warning disable EF1000
|
||||
|
||||
var items = await ct.Widget
|
||||
.AsNoTracking()
|
||||
|
||||
17
test/raven-integration/DataFilter/DataFilterOrderBy.cs
Normal file
17
test/raven-integration/DataFilter/DataFilterOrderBy.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using Xunit;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using FluentAssertions;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Concurrent;
|
||||
|
||||
namespace raven_integration
|
||||
{
|
||||
|
||||
|
||||
public class DataFilterOrderBy
|
||||
{
|
||||
|
||||
|
||||
}//eoc
|
||||
}//eons
|
||||
Reference in New Issue
Block a user