/// <summary> /// Where parameter operand creation is called by DynamicQuery. /// See <see cref="tgComparisonOperand"/> Enumeration. /// </summary> /// <param name="op">E.g., tgComparisonOperand.Between</param> /// <param name="value1">The first value for this comparison</param> /// <param name="value2">The second value for this comparison</param> /// <returns>The tgComparison returned to DynamicQuery</returns> public tgComparison OP(tgComparisonOperand op, object value1, object value2) { switch (op) { case tgComparisonOperand.IsNull: case tgComparisonOperand.IsNotNull: return CreateComparisonParameter(op); case tgComparisonOperand.Equal: case tgComparisonOperand.NotEqual: case tgComparisonOperand.GreaterThan: case tgComparisonOperand.GreaterThanOrEqual: case tgComparisonOperand.LessThan: case tgComparisonOperand.LessThanOrEqual: case tgComparisonOperand.In: case tgComparisonOperand.NotIn: case tgComparisonOperand.Contains: return CreateComparisonParameter(op, value1); case tgComparisonOperand.Like: return this.Like(value1, Convert.ToChar(value2)); case tgComparisonOperand.NotLike: return this.NotLike(value1, Convert.ToChar(value2)); case tgComparisonOperand.Between: return this.Between(value1, value2); default: throw new InvalidOperationException("Invalid Operand"); } }
/// <summary> /// Where parameter operand creation is called by DynamicQuery. /// See <see cref="tgComparisonOperand"/> Enumeration. /// </summary> /// <param name="op">E.g., tgComparisonOperand.IsNotNull</param> /// <param name="value">The value for this comparison</param> /// <returns>The tgComparison returned to DynamicQuery</returns> public tgComparison OP(tgComparisonOperand op, object value) { switch (op) { case tgComparisonOperand.IsNull: case tgComparisonOperand.IsNotNull: return CreateComparisonParameter(op); case tgComparisonOperand.Equal: case tgComparisonOperand.NotEqual: case tgComparisonOperand.GreaterThan: case tgComparisonOperand.GreaterThanOrEqual: case tgComparisonOperand.LessThan: case tgComparisonOperand.LessThanOrEqual: case tgComparisonOperand.Like: case tgComparisonOperand.In: case tgComparisonOperand.NotIn: case tgComparisonOperand.NotLike: case tgComparisonOperand.Contains: return CreateComparisonParameter(op, value); case tgComparisonOperand.Between: throw new InvalidOperationException("Between requires two parameters"); default: throw new InvalidOperationException("Invalid Operand"); } }
private tgComparison CreateComparisonParameter(tgComparisonOperand operand) { tgComparison comparison = new tgComparison(this.query); comparison.Operand = operand; if (this.HasExpression) { comparison.data.Expression = this.Expression; } comparison.data.Column = this.Column; comparison.SubOperators = this.SubOperators; return comparison; }
/// <summary> /// Where parameter operand creation is called by DynamicQuery. /// See <see cref="tgComparisonOperand"/> Enumeration. /// </summary> /// <param name="op">E.g., tgComparisonOperand.IsNotNull</param> /// <returns>The tgComparison returned to DynamicQuery</returns> public tgComparison OP(tgComparisonOperand op) { switch (op) { case tgComparisonOperand.IsNotNull: case tgComparisonOperand.IsNull: return CreateComparisonParameter(op); default: throw new InvalidOperationException("Operand requires at least one value"); } }
private tgComparison CreateComparisonParameter(tgComparisonOperand operand, object value) { tgComparison comparison = null; tgQueryItem qi = value as tgQueryItem; if (Object.Equals(qi, null)) { comparison = new tgComparison(this.query); comparison.Operand = operand; if (this.HasExpression) { comparison.data.Expression = this.Expression; } comparison.data.Column = this.Column; comparison.data.Value = value; comparison.SubOperators = this.SubOperators; } else { comparison = new tgComparison(this.query); comparison.Operand = operand; comparison.data.Column = this.Column; comparison.data.ComparisonColumn = qi.Column; comparison.SubOperators = qi.SubOperators; } return comparison; }