From ec5a5844e995e9d14d6dec5bde5e0e25709f0804 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 11 Dec 2022 17:30:35 +0800 Subject: [PATCH] Optimize code --- .../SqlBuilderProvider/SqlBuilderProvider.cs | 304 ----------------- .../SqlBuilderProvider_Condition.cs | 318 ++++++++++++++++++ 2 files changed, 318 insertions(+), 304 deletions(-) create mode 100644 Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs index 36de4479b..8a4e7b390 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs @@ -116,259 +116,6 @@ namespace SqlSugar { UtilMethods.RepairReplicationParameters(ref appendSql, parameters, addIndex); } - public KeyValuePair ConditionalModelToSql(List models, int beginIndex = 0) - { - if (models.IsNullOrEmpty()) return new KeyValuePair(); - StringBuilder builder = new StringBuilder(); - List parameters = new List(); - var sqlBuilder = InstanceFactory.GetSqlbuilder(this.Context.CurrentConnectionConfig); - var mainIndex = 0; - var indexTree = 0; - foreach (var model in models) - { - if (model is ConditionalModel) - { - var item = model as ConditionalModel; - if (item.CustomConditionalFunc != null) - { - var colIndex = mainIndex + beginIndex; - var colType = colIndex == 0 ? "" : "AND"; - var custom = item.CustomConditionalFunc.GetConditionalSql(item, colIndex); - parameters.AddRange(custom.Value); - builder.AppendFormat(" "+colType + " "+custom.Key); - mainIndex++; - continue; - } - else if (item.FieldName == UtilMethods.FiledNameSql()) - { - builder.Append(item.FieldValue); - continue; - } - var index = mainIndex + beginIndex; - var type = index == 0 ? "" : "AND"; - if (beginIndex > 0) - { - type = null; - } - string temp = " {0} {1} {2} {3} "; - string parameterName = string.Format("{0}Condit{1}{2}", sqlBuilder.SqlParameterKeyWord, item.FieldName, index); - if (parameterName.Contains(".")) - { - parameterName = parameterName.Replace(".", "_"); - } - if (parameterName.Contains("[")) - { - parameterName = parameterName.Replace("[", "_"); - } - if (parameterName.Contains("]")) - { - parameterName = parameterName.Replace("]", "_"); - } - if (!string.IsNullOrEmpty(this.SqlTranslationLeft)&¶meterName.Contains(this.SqlTranslationLeft)) - { - parameterName = parameterName.Replace(this.SqlTranslationLeft, "_"); - } - string oldName = item.FieldName; - item.FieldName = GetTranslationColumnName(item.FieldName); - item.FieldName = item.FieldName.ToCheckField(); - switch (item.ConditionalType) - { - case ConditionalType.Equal: - if (item.FieldValue!=null&&item.FieldValue == "null"&&item.FieldValue!= "[null]") - { - builder.AppendFormat($" {item.FieldName.ToSqlFilter()} is null "); - } - else - { - if (item.FieldValue == "[null]") - { - item.FieldValue = "null"; - } - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); - } - break; - case ConditionalType.Like: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); - parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue + "%")); - break; - case ConditionalType.GreaterThan: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), ">", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); - break; - case ConditionalType.GreaterThanOrEqual: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), ">=", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); - break; - case ConditionalType.LessThan: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); - break; - case ConditionalType.LessThanOrEqual: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<=", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); - break; - case ConditionalType.In: - if (item.FieldValue == null) item.FieldValue = string.Empty; - var inValue1 = string.Empty; - if (item.CSharpTypeName.EqualCase("string")|| item.CSharpTypeName==null) - { - inValue1 = ("(" + item.FieldValue.Split(',').Distinct().ToArray().ToJoinSqlInVals() + ")"); - } - else - { - inValue1 = ("(" + item.FieldValue.Split(',').Select(it=>it==""?"null":it).Distinct().ToArray().ToJoinSqlInVals() + ")"); - } - if (item.CSharpTypeName.HasValue()&&UtilMethods.IsNumber(item.CSharpTypeName)) - { - inValue1= inValue1.Replace("'",""); - } - else if(inValue1.Contains("'null'")) - { - inValue1 = inValue1.Replace("'null'", "null"); - } - else if (inValue1.Contains("[null]")) - { - inValue1 = inValue1.Replace("[null]", "null"); - } - if (item.CSharpTypeName.EqualCase("guid")&& inValue1=="('')") - { - inValue1 = $"('{Guid.Empty.ToString()}')"; - } - else if (inValue1 == "()") - { - inValue1 = $"(NULL)"; - } - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "IN", inValue1); - //parameters.Add(new SugarParameter(parameterName, item.FieldValue)); - break; - case ConditionalType.NotIn: - if (item.FieldValue == null) item.FieldValue = string.Empty; - var inValue2 = ("(" + item.FieldValue.Split(',').ToJoinSqlInVals() + ")"); - if (item.CSharpTypeName.HasValue() && UtilMethods.IsNumber(item.CSharpTypeName)) - { - inValue2 = inValue2.Replace("'", ""); - } - else if (inValue2.Contains("'null'")) - { - inValue2 = inValue2.Replace("'null'", "null"); - } - else if (inValue2.Contains("[null]")) - { - inValue2 = inValue2.Replace("[null]", "null"); - } - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "NOT IN", inValue2); - parameters.Add(new SugarParameter(parameterName, item.FieldValue)); - break; - case ConditionalType.LikeLeft: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); - parameters.Add(new SugarParameter(parameterName, item.FieldValue + "%")); - break; - case ConditionalType.NoLike: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " NOT LIKE", parameterName); - parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue + "%")); - break; - case ConditionalType.LikeRight: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); - parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue)); - break; - case ConditionalType.NoEqual: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<>", parameterName); - parameters.Add(new SugarParameter(parameterName, item.FieldValue)); - break; - case ConditionalType.IsNullOrEmpty: - builder.AppendFormat(" {0} (({1}) OR ({2})) ", type, item.FieldName.ToSqlFilter() + " IS NULL ", item.FieldName.ToSqlFilter() + " = '' "); - parameters.Add(new SugarParameter(parameterName, item.FieldValue)); - break; - case ConditionalType.IsNot: - if (item.FieldValue == null) - { - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " IS NOT ", "NULL"); - } - else - { - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<>", parameterName); - parameters.Add(new SugarParameter(parameterName, item.FieldValue)); - } - break; - case ConditionalType.EqualNull: - if (GetFieldValue(item) == null) - { - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " IS ", " NULL "); - } - else - { - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); - } - break; - case ConditionalType.InLike: - var array =(item.FieldValue+"").Split(',').ToList(); - List sqls = new List(); - int i = 0; - foreach (var val in array) - { - var itemParameterName = $"{ parameterName}{index}{i}"; - sqls.Add(item.FieldName.ToSqlFilter()+ " LIKE " + itemParameterName); - parameters.Add(new SugarParameter(itemParameterName, "%" + val + "%")); - i++; - } - builder.Append($" {type} ({string.Join(" OR ", sqls)}) "); - break; - default: - break; - } - item.FieldName = oldName; - } - else if (model is ConditionalCollections) - { - var item = model as ConditionalCollections; - if (item != null && item.ConditionalList.HasValue()) - { - foreach (var con in item.ConditionalList) - { - var index = item.ConditionalList.IndexOf(con); - var isFirst = index == 0; - var isLast = index == (item.ConditionalList.Count - 1); - if (models.IndexOf(item) == 0 && index == 0 && beginIndex == 0) - { - builder.AppendFormat(" ( "); - - } - else if (isFirst) - { - builder.AppendFormat(" {0} ( ", con.Key.ToString().ToUpper()); - } - List conModels = new List(); - conModels.Add(con.Value); - var childSqlInfo = ConditionalModelToSql(conModels, 1000 * (1 + index) + models.IndexOf(item)); - if (!isFirst && con.Value.FieldName != $"[value=sql{UtilConstants.ReplaceKey}]") - { - - builder.AppendFormat(" {0} ", con.Key.ToString().ToUpper()); - } - builder.Append(childSqlInfo.Key); - parameters.AddRange(childSqlInfo.Value); - if (isLast) - { - builder.Append(" ) "); - } - else - { - - } - } - } - } - else - { - var item = model as ConditionalTree; - BuilderTree(builder,item,ref indexTree, parameters, ref mainIndex); - } - mainIndex++; - } - return new KeyValuePair(builder.ToString(), parameters.ToArray()); - } public virtual string GetUnionFomatSql(string sql) { return sql; @@ -377,63 +124,12 @@ namespace SqlSugar { return null; } - private void BuilderTree(StringBuilder builder,ConditionalTree item,ref int indexTree, List parameters,ref int mainIndex) - { - var conditionals = ToConditionalCollections(item,ref indexTree, parameters); - var sqlobj = ConditionalModelToSql(new List { conditionals }, mainIndex); - var sql = sqlobj.Key; - RepairReplicationParameters(ref sql, sqlobj.Value,indexTree); - parameters.AddRange(sqlobj.Value); - var buiderSql = sql; - builder.Append(buiderSql); - indexTree++; - } public virtual string RemoveParentheses(string sql) { return sql; } - private ConditionalCollections ToConditionalCollections(ConditionalTree item,ref int indexTree, List parameters) - { - List> list = new List>(); - var index = 0; - foreach (var it in item.ConditionalList) - { - ConditionalModel model = new ConditionalModel(); - if (it.Value is ConditionalModel) - { - model = (ConditionalModel)it.Value; - } - else - { - var tree = it.Value as ConditionalTree; - var con = ToConditionalCollections(tree, ref indexTree, parameters); - var sqlobj = ConditionalModelToSql(new List { con }, index); - var sql = sqlobj.Key; - if (sql.StartsWith(" NULL ")) - { - sql = Regex.Replace(sql,"^ NULL ", it.Key.ToString().ToUpper()); - } - RepairReplicationParameters(ref sql, sqlobj.Value, indexTree); - model = new ConditionalModel() - { - FieldName = $"[value=sql{UtilConstants.ReplaceKey}]", - FieldValue = sql - }; - parameters.AddRange(sqlobj.Value); - indexTree++; - } - list.Add(new KeyValuePair(it.Key, model)); - index++; - } - var result= new ConditionalCollections() - { - ConditionalList = list - }; - return result; - } - private static object GetFieldValue(ConditionalModel item) { if (item.FieldValueConvertFunc != null) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs new file mode 100644 index 000000000..c28fc77f2 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs @@ -0,0 +1,318 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +namespace SqlSugar +{ + public abstract partial class SqlBuilderProvider : SqlBuilderAccessory, ISqlBuilder + { + public KeyValuePair ConditionalModelToSql(List models, int beginIndex = 0) + { + if (models.IsNullOrEmpty()) return new KeyValuePair(); + StringBuilder builder = new StringBuilder(); + List parameters = new List(); + var sqlBuilder = InstanceFactory.GetSqlbuilder(this.Context.CurrentConnectionConfig); + var mainIndex = 0; + var indexTree = 0; + foreach (var model in models) + { + if (model is ConditionalModel) + { + var item = model as ConditionalModel; + if (item.CustomConditionalFunc != null) + { + var colIndex = mainIndex + beginIndex; + var colType = colIndex == 0 ? "" : "AND"; + var custom = item.CustomConditionalFunc.GetConditionalSql(item, colIndex); + parameters.AddRange(custom.Value); + builder.AppendFormat(" " + colType + " " + custom.Key); + mainIndex++; + continue; + } + else if (item.FieldName == UtilMethods.FiledNameSql()) + { + builder.Append(item.FieldValue); + continue; + } + var index = mainIndex + beginIndex; + var type = index == 0 ? "" : "AND"; + if (beginIndex > 0) + { + type = null; + } + string temp = " {0} {1} {2} {3} "; + string parameterName = string.Format("{0}Condit{1}{2}", sqlBuilder.SqlParameterKeyWord, item.FieldName, index); + if (parameterName.Contains(".")) + { + parameterName = parameterName.Replace(".", "_"); + } + if (parameterName.Contains("[")) + { + parameterName = parameterName.Replace("[", "_"); + } + if (parameterName.Contains("]")) + { + parameterName = parameterName.Replace("]", "_"); + } + if (!string.IsNullOrEmpty(this.SqlTranslationLeft) && parameterName.Contains(this.SqlTranslationLeft)) + { + parameterName = parameterName.Replace(this.SqlTranslationLeft, "_"); + } + string oldName = item.FieldName; + item.FieldName = GetTranslationColumnName(item.FieldName); + item.FieldName = item.FieldName.ToCheckField(); + switch (item.ConditionalType) + { + case ConditionalType.Equal: + if (item.FieldValue != null && item.FieldValue == "null" && item.FieldValue != "[null]") + { + builder.AppendFormat($" {item.FieldName.ToSqlFilter()} is null "); + } + else + { + if (item.FieldValue == "[null]") + { + item.FieldValue = "null"; + } + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + } + break; + case ConditionalType.Like: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); + parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue + "%")); + break; + case ConditionalType.GreaterThan: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), ">", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + break; + case ConditionalType.GreaterThanOrEqual: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), ">=", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + break; + case ConditionalType.LessThan: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + break; + case ConditionalType.LessThanOrEqual: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<=", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + break; + case ConditionalType.In: + if (item.FieldValue == null) item.FieldValue = string.Empty; + var inValue1 = string.Empty; + if (item.CSharpTypeName.EqualCase("string") || item.CSharpTypeName == null) + { + inValue1 = ("(" + item.FieldValue.Split(',').Distinct().ToArray().ToJoinSqlInVals() + ")"); + } + else + { + inValue1 = ("(" + item.FieldValue.Split(',').Select(it => it == "" ? "null" : it).Distinct().ToArray().ToJoinSqlInVals() + ")"); + } + if (item.CSharpTypeName.HasValue() && UtilMethods.IsNumber(item.CSharpTypeName)) + { + inValue1 = inValue1.Replace("'", ""); + } + else if (inValue1.Contains("'null'")) + { + inValue1 = inValue1.Replace("'null'", "null"); + } + else if (inValue1.Contains("[null]")) + { + inValue1 = inValue1.Replace("[null]", "null"); + } + if (item.CSharpTypeName.EqualCase("guid") && inValue1 == "('')") + { + inValue1 = $"('{Guid.Empty.ToString()}')"; + } + else if (inValue1 == "()") + { + inValue1 = $"(NULL)"; + } + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "IN", inValue1); + //parameters.Add(new SugarParameter(parameterName, item.FieldValue)); + break; + case ConditionalType.NotIn: + if (item.FieldValue == null) item.FieldValue = string.Empty; + var inValue2 = ("(" + item.FieldValue.Split(',').ToJoinSqlInVals() + ")"); + if (item.CSharpTypeName.HasValue() && UtilMethods.IsNumber(item.CSharpTypeName)) + { + inValue2 = inValue2.Replace("'", ""); + } + else if (inValue2.Contains("'null'")) + { + inValue2 = inValue2.Replace("'null'", "null"); + } + else if (inValue2.Contains("[null]")) + { + inValue2 = inValue2.Replace("[null]", "null"); + } + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "NOT IN", inValue2); + parameters.Add(new SugarParameter(parameterName, item.FieldValue)); + break; + case ConditionalType.LikeLeft: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); + parameters.Add(new SugarParameter(parameterName, item.FieldValue + "%")); + break; + case ConditionalType.NoLike: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " NOT LIKE", parameterName); + parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue + "%")); + break; + case ConditionalType.LikeRight: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); + parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue)); + break; + case ConditionalType.NoEqual: + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<>", parameterName); + parameters.Add(new SugarParameter(parameterName, item.FieldValue)); + break; + case ConditionalType.IsNullOrEmpty: + builder.AppendFormat(" {0} (({1}) OR ({2})) ", type, item.FieldName.ToSqlFilter() + " IS NULL ", item.FieldName.ToSqlFilter() + " = '' "); + parameters.Add(new SugarParameter(parameterName, item.FieldValue)); + break; + case ConditionalType.IsNot: + if (item.FieldValue == null) + { + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " IS NOT ", "NULL"); + } + else + { + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "<>", parameterName); + parameters.Add(new SugarParameter(parameterName, item.FieldValue)); + } + break; + case ConditionalType.EqualNull: + if (GetFieldValue(item) == null) + { + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " IS ", " NULL "); + } + else + { + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + } + break; + case ConditionalType.InLike: + var array = (item.FieldValue + "").Split(',').ToList(); + List sqls = new List(); + int i = 0; + foreach (var val in array) + { + var itemParameterName = $"{parameterName}{index}{i}"; + sqls.Add(item.FieldName.ToSqlFilter() + " LIKE " + itemParameterName); + parameters.Add(new SugarParameter(itemParameterName, "%" + val + "%")); + i++; + } + builder.Append($" {type} ({string.Join(" OR ", sqls)}) "); + break; + default: + break; + } + item.FieldName = oldName; + } + else if (model is ConditionalCollections) + { + var item = model as ConditionalCollections; + if (item != null && item.ConditionalList.HasValue()) + { + foreach (var con in item.ConditionalList) + { + var index = item.ConditionalList.IndexOf(con); + var isFirst = index == 0; + var isLast = index == (item.ConditionalList.Count - 1); + if (models.IndexOf(item) == 0 && index == 0 && beginIndex == 0) + { + builder.AppendFormat(" ( "); + + } + else if (isFirst) + { + builder.AppendFormat(" {0} ( ", con.Key.ToString().ToUpper()); + } + List conModels = new List(); + conModels.Add(con.Value); + var childSqlInfo = ConditionalModelToSql(conModels, 1000 * (1 + index) + models.IndexOf(item)); + if (!isFirst && con.Value.FieldName != $"[value=sql{UtilConstants.ReplaceKey}]") + { + + builder.AppendFormat(" {0} ", con.Key.ToString().ToUpper()); + } + builder.Append(childSqlInfo.Key); + parameters.AddRange(childSqlInfo.Value); + if (isLast) + { + builder.Append(" ) "); + } + else + { + + } + } + } + } + else + { + var item = model as ConditionalTree; + BuilderTree(builder, item, ref indexTree, parameters, ref mainIndex); + } + mainIndex++; + } + return new KeyValuePair(builder.ToString(), parameters.ToArray()); + } + + private void BuilderTree(StringBuilder builder, ConditionalTree item, ref int indexTree, List parameters, ref int mainIndex) + { + var conditionals = ToConditionalCollections(item, ref indexTree, parameters); + var sqlobj = ConditionalModelToSql(new List { conditionals }, mainIndex); + var sql = sqlobj.Key; + RepairReplicationParameters(ref sql, sqlobj.Value, indexTree); + parameters.AddRange(sqlobj.Value); + var buiderSql = sql; + builder.Append(buiderSql); + indexTree++; + } + private ConditionalCollections ToConditionalCollections(ConditionalTree item, ref int indexTree, List parameters) + { + List> list = new List>(); + var index = 0; + foreach (var it in item.ConditionalList) + { + ConditionalModel model = new ConditionalModel(); + if (it.Value is ConditionalModel) + { + model = (ConditionalModel)it.Value; + } + else + { + var tree = it.Value as ConditionalTree; + var con = ToConditionalCollections(tree, ref indexTree, parameters); + var sqlobj = ConditionalModelToSql(new List { con }, index); + var sql = sqlobj.Key; + if (sql.StartsWith(" NULL ")) + { + sql = Regex.Replace(sql, "^ NULL ", it.Key.ToString().ToUpper()); + } + RepairReplicationParameters(ref sql, sqlobj.Value, indexTree); + model = new ConditionalModel() + { + FieldName = $"[value=sql{UtilConstants.ReplaceKey}]", + FieldValue = sql + }; + parameters.AddRange(sqlobj.Value); + indexTree++; + } + list.Add(new KeyValuePair(it.Key, model)); + index++; + } + var result = new ConditionalCollections() + { + ConditionalList = list + }; + return result; + } + + } +}