private void AddClause(MatchCondition matchCondition, AdoQueryPayload queryPayload) { queryPayload.AppendColumnName(matchCondition.Object); switch (matchCondition.Operator) { case DslOperator.Equals: queryPayload.Append(" = "); queryPayload.AddParameter(matchCondition); break; case DslOperator.NotEquals: queryPayload.Append(" <> "); queryPayload.AddParameter(matchCondition); break; case DslOperator.Like: queryPayload.Append(" LIKE '%' + "); queryPayload.AddParameter(matchCondition); queryPayload.Append(" + '%'"); break; case DslOperator.NotLike: queryPayload.Append(" NOT LIKE '%' + "); queryPayload.AddParameter(matchCondition); queryPayload.Append(" + '%'"); break; case DslOperator.In: queryPayload.Append(" IN ("); queryPayload.AddParameter(matchCondition); queryPayload.Append(")"); break; case DslOperator.NotIn: queryPayload.Append(" NOT IN ("); queryPayload.AddParameter(matchCondition); queryPayload.Append(")"); break; default: throw new Exception("DSL Operator not supported for SQL query generation: " + matchCondition.Operator); } queryPayload.AddNewLine(); }