This commit is contained in:
2020-01-21 18:24:16 +00:00
parent 37abad2d15
commit 6f3fd64c62

View File

@@ -1,55 +0,0 @@
using System.Collections.Generic;
using System;
using System.Globalization;
using System.Text;
using Newtonsoft.Json.Linq;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
namespace AyaNova.Biz
{
public static class SqlFilterOrderByBuilder
{
// public static string DefaultGetManyOrderBy => "ORDER BY ID DESC";
// public static string DefaultPickListOrderBy => "ORDER BY NAME ASC";
public static string DataFilterToSQLOrderBy(AyaNova.Models.DataFilter dataFilter)
{
if (string.IsNullOrWhiteSpace(dataFilter.Sort))
{
return string.Empty;//used to be default order by
}
StringBuilder sb = new StringBuilder();
//iterate the datafilter and concatenate a sql query from it
var SortArray = JArray.Parse(dataFilter.Sort);
for (int i = 0; i < SortArray.Count; i++)
{
var SortItem = SortArray[i];
var fld = SortItem["fld"].Value<string>();
var dir = SortItem["dir"].Value<string>();
sb.Append(" ");
sb.Append(fld);
sb.Append(" ");
sb.Append(dir == "+" ? "ASC" : "DESC");
if (i < SortArray.Count - 1)
{
sb.Append(",");
}
}
return "ORDER BY" + sb.ToString();
}
}//eoc
}//ens