private static SqlCondition MergeConditions(SqlCondition cLeft, SqlCondition cRight, SqlLogicOperation op) { if (cLeft == null) return cRight; if (cRight == null) return cLeft; #if SQL_OPTIMIZATION if (cLeft is SqlComplexCondition) { SqlComplexCondition ccLeft = (SqlComplexCondition) cLeft; if (ccLeft.Operation == op) return ccLeft.AppendEnd(cRight); } #endif return new SqlComplexCondition(op, cLeft, cRight); }
private static SqlCondition MergeConditions(SqlCondition cLeft, SqlCondition cRight, SqlLogicOperation op) { if (cLeft == null) { return(cRight); } if (cRight == null) { return(cLeft); } #if SQL_OPTIMIZATION if (cLeft is SqlComplexCondition) { SqlComplexCondition ccLeft = (SqlComplexCondition)cLeft; if (ccLeft.Operation == op) { return(ccLeft.AppendEnd(cRight)); } } #endif return(new SqlComplexCondition(op, cLeft, cRight)); }
/// <summary> /// Cria uma nova condição complexa SQL. /// </summary> /// <param name="op">O operador (pode ser E ou OU)</param> /// <param name="cond1">A condição da esquerda</param> /// <param name="cond2">A condição da direita</param> public SqlComplexCondition(SqlLogicOperation op, SqlCondition cond1, SqlCondition cond2) { this.op = op; conds.Add(cond1); conds.Add(cond2); }