/// <summary> /// Converts the given binary operator to /// an SQL operator formatted as a string. /// </summary> /// <param name="value">Value to convert.</param> /// <returns>String SQL operator matching the value.</returns> public static string ToSqlOperator(this BinaryOperatorEnum value) { switch (value) { case BinaryOperatorEnum.Addition: return("+"); case BinaryOperatorEnum.Subtraction: return("-"); case BinaryOperatorEnum.Multiplication: return("*"); case BinaryOperatorEnum.Division: return("/"); default: throw new ArgumentException( string.Format("Unknown operator: {0}.", value)); } }
public MultiFieldComparisonFilterClause(BinaryOperatorEnum operation, params string[] fieldNames) : base(fieldNames) { Operation = operation; }
private static string BinaryOperatorToString(BinaryOperatorEnum binaryop, string leftValue, string rightValue) { string pattern = String.Empty; switch(binaryop) { case BinaryOperatorEnum.And : pattern = " {0} and {1}"; break; case BinaryOperatorEnum.Div : pattern = " {0} div {1}"; break; case BinaryOperatorEnum.Equal : pattern = " {0} = {1} "; break; case BinaryOperatorEnum.Greater : pattern = " {0} > {1} "; break; case BinaryOperatorEnum.GreaterOrEqual : pattern = " {0} >= {1} "; break; case BinaryOperatorEnum.Lesser : pattern = " {0} < {1} "; break; case BinaryOperatorEnum.LesserOrEqual : pattern = " {0} <= {1} "; break; case BinaryOperatorEnum.Minus : pattern = " {0} - {1} "; break; case BinaryOperatorEnum.Modulo : pattern = " {0} mod {1} "; break; case BinaryOperatorEnum.NotEqual : pattern = " {0} != {1} "; break; case BinaryOperatorEnum.Or : pattern = " {0} or {1} "; break; case BinaryOperatorEnum.Plus : pattern = " {0} + {1} "; break; case BinaryOperatorEnum.Times : pattern = " {0} * {1} "; break; case BinaryOperatorEnum.Contains : pattern = " contains({0}, {1}) "; break; case BinaryOperatorEnum.BeginsWith : pattern = " starts-with({0}, {1}) "; break; case BinaryOperatorEnum.EndsWith : pattern = " ends-with({0}, {1}) "; break; } return String.Format(pattern, leftValue, rightValue); }
private static BinaryLogicOperator BinaryOperatorToBinaryLogicOperator(BinaryOperatorEnum binaryop) { switch (binaryop) { case BinaryOperatorEnum.And: return BinaryLogicOperator.And; case BinaryOperatorEnum.Div: return BinaryLogicOperator.Div; case BinaryOperatorEnum.Equal: return BinaryLogicOperator.Equals; case BinaryOperatorEnum.Greater: return BinaryLogicOperator.Greater; case BinaryOperatorEnum.GreaterOrEqual: return BinaryLogicOperator.GreaterOrEquals; case BinaryOperatorEnum.Lesser: return BinaryLogicOperator.Lesser; case BinaryOperatorEnum.LesserOrEqual: return BinaryLogicOperator.LesserOrEquals; case BinaryOperatorEnum.Minus: return BinaryLogicOperator.Minus; case BinaryOperatorEnum.Modulo: return BinaryLogicOperator.Modulo; case BinaryOperatorEnum.NotEqual: return BinaryLogicOperator.NotEquals; case BinaryOperatorEnum.Or: return BinaryLogicOperator.Or; case BinaryOperatorEnum.Plus: return BinaryLogicOperator.Plus; case BinaryOperatorEnum.Times: return BinaryLogicOperator.Times; } throw new PersistenceEngineException("Operator not managed: " + binaryop.ToString()); }