Hotel/Common/Data/Filter/FilterTranslator.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Common.Data.Filter
{
public class FilterTranslator
{
/// <summary>
/// 將操作符代碼轉換為SQL的操作符號
/// </summary>
/// <param name="op"></param>
/// <returns></returns>
private static string GetOperatorQueryText(string op)
{
switch (op.ToLower())
{
case "eq": return " = ";
case "gt": return " > ";
case "ge": return " >= ";
case "nu": return " IS NULL ";
case "nn": return " IS NOT NULL ";
case "lt": return " < ";
case "le": return " <= ";
case "cn": return " like ";
case "bw": return " like ";
case "ew": return " like ";
case "ne": return " <> ";
case "in": return " IN ";
case "ni": return " NOT IN ";
default: return " = ";
}
}
public static string ToSql(string jsonFilter)
{
if (string.IsNullOrEmpty(jsonFilter))
return " 1=1 ";
FilterGroup fg = Common.JSONhelper.ConvertToObject<FilterGroup>(jsonFilter);
return ToSql(fg);
}
private static string ToSql(FilterGroup fg)
{
StringBuilder sb = new StringBuilder();
if (fg == null)
return " 1=1 ";
sb.Append("(");
bool flag = false;
if (fg.Rules != null)
{
foreach (var rule in fg.Rules)
{
if (flag)
sb.Append(" " + fg.groupOp.ToString() + " ");
后面还有 57 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。