private void Build(StringBuilder sb, List <object> args, Sql lhs) { if (!String.IsNullOrEmpty(this._sql)) { // Add SQL to the string if (sb.Length > 0) { sb.Append("\n"); } string sql = ParameterHelper.ProcessParams(this._sql, this._args, args); if (Is(lhs, "WHERE ") && Is(this, "WHERE ")) { sql = "AND " + sql.Substring(6); } if (Is(lhs, "ORDER BY ") && Is(this, "ORDER BY ")) { sql = ", " + sql.Substring(9); } sb.Append(sql); } // Now do rhs if (this._rhs != null) { this._rhs.Build(sb, args, this); } }
public string ResolveClauses(List <object> finalParams) { foreach (var item in this) { item.ResolvedSql = ParameterHelper.ProcessParams(item.Sql, item.Parameters.ToArray(), finalParams); } return(prefix + string.Join(joiner, this.Select(c => c.ResolvedSql).ToArray()) + postfix); }
public Template(SqlBuilder builder, string sql, params object[] parameters) { this.sql = ParameterHelper.ProcessParams(sql, parameters, finalParams); this.builder = builder; }