Example #1
0
        /// <summary>
        /// Create a new condition phrase.
        /// </summary>
        /// <param name="expr">SQL Expression.</param>
        /// <param name="conditionOperator">Condition operator.</param>
        /// <param name="value">Value.</param>
        /// <param name="paramName">Parameter name.</param>
        public APSqlConditionPhrase(APSqlOperateExpr expr, APSqlConditionOperator conditionOperator, object value, string paramName)
        {
            if (Object.Equals(expr, null))
            {
                throw new ArgumentNullException("columnDef");
            }
            if (conditionOperator == APSqlConditionOperator.Exists || conditionOperator == APSqlConditionOperator.NotExists)
            {
                throw new ArgumentException(APResource.APDB_OperatorExists, "conditionOperator");
            }

            _expr      = expr;
            _paramName = paramName;
            if (String.IsNullOrEmpty(paramName))
            {
                _paramName = expr.ParamName;
            }

            if (value is String)
            {
                value = APSqlExpr.TryFitStringToRawExpr((string)value);
            }

            _value             = value;
            _conditionOperator = conditionOperator;
        }
		/// <summary>
		/// Create a new condition phrase.
		/// </summary>
		/// <param name="relationDef">Relation definition.</param>
		public APSqlConditionPhrase(APRelationDef relationDef)
		{
			if (relationDef == null)
				throw new ArgumentNullException("relationDef");
			_expr = new APSqlColumnExpr(relationDef.Master);
			_conditionOperator = APSqlConditionOperator.Equals;
			_value = new APSqlColumnExpr(relationDef.Slave);
		}
Example #3
0
 /// <summary>
 /// Create a new condition phrase.
 /// </summary>
 /// <param name="relationDef">Relation definition.</param>
 public APSqlConditionPhrase(APRelationDef relationDef)
 {
     if (relationDef == null)
     {
         throw new ArgumentNullException("relationDef");
     }
     _expr = new APSqlColumnExpr(relationDef.Master);
     _conditionOperator = APSqlConditionOperator.Equals;
     _value             = new APSqlColumnExpr(relationDef.Slave);
 }
Example #4
0
        /// <summary>
        /// Create a new condition phrase where sub query when use '[NOT] EXISTS'
        /// </summary>
        /// <param name="subQuery">Sub Query.</param>
        /// <param name="conditionOperator">'EXISTS' or 'NOT EXISTS'</param>
        public APSqlConditionPhrase(APSqlSelectCommand subQuery, APSqlConditionOperator conditionOperator)
        {
            if (subQuery == null)
            {
                throw new ArgumentNullException("subQuery");
            }
            if (conditionOperator != APSqlConditionOperator.Exists && conditionOperator != APSqlConditionOperator.NotExists)
            {
                throw new ArgumentException(APResource.APDB_OperatorExists, "conditionOperator");
            }

            _expr = null;
            _conditionOperator = conditionOperator;
            _value             = subQuery;
        }
Example #5
0
        /// <summary>
        /// Get 'WHERE' phrase.
        /// </summary>
        /// <param name="op">Condition operator.</param>
        /// <param name="value">Value.</param>
        /// <returns>An APSqlWherePhrase.</returns>
        protected virtual APSqlWherePhrase GetQueryWherePhrase(APSqlConditionOperator op, string value)
        {
            object v = null;

            if (value == "NULL")
            {
                v = DBNull.Value;
            }
            else
            {
                v = TryGetFilterValue(value);
            }

            return(new APSqlConditionPhrase(_selectExpr, op, v));
        }
		/// <summary>
		/// Create a new condition phrase.
		/// </summary>
		/// <param name="expr">SQL Expression.</param>
		/// <param name="conditionOperator">Condition operator.</param>
		/// <param name="value">Value.</param>
		/// <param name="paramName">Parameter name.</param>
		public APSqlConditionPhrase(APSqlOperateExpr expr, APSqlConditionOperator conditionOperator, object value, string paramName)
		{
			if (Object.Equals(expr, null))
				throw new ArgumentNullException("columnDef");
			if (conditionOperator == APSqlConditionOperator.Exists || conditionOperator == APSqlConditionOperator.NotExists)
				throw new ArgumentException(APResource.APDB_OperatorExists, "conditionOperator");

			_expr = expr;
			_paramName = paramName;
			if (String.IsNullOrEmpty(paramName))
			{
				_paramName = expr.ParamName;
			}

			if (value is String)
				value = APSqlExpr.TryFitStringToRawExpr((string)value);

			_value = value;
			_conditionOperator = conditionOperator;
		}
Example #7
0
        /// <summary>
        /// Get 'WHERE' phrase.
        /// </summary>
        /// <param name="op">Condition operator.</param>
        /// <param name="joinType">Condition join type.</param>
        /// <param name="values">Values.</param>
        /// <returns>An APSqlWherePhrase.</returns>
        protected virtual APSqlWherePhrase GetQueryWherePhrase(APSqlConditionOperator op, APSqlConditionJoinType joinType, string[] values)
        {
            List <APSqlWherePhrase> list = new List <APSqlWherePhrase>();

            foreach (string value in values)
            {
                list.Add(GetQueryWherePhrase(op, value));
            }

            if (list.Count == 1)
            {
                return(list[0]);
            }

            if (joinType == APSqlConditionJoinType.AND)
            {
                return(new APSqlConditionAndPhrase(list));
            }
            else
            {
                return(new APSqlConditionOrPhrase(list));
            }
        }
Example #8
0
 /// <summary>
 /// Create a new condition phrase where sub query when use 'ANY | SOME | ALL'.
 /// </summary>
 /// <param name="expr">SQL Expression.</param>
 /// <param name="conditionOperator">Condition operator.</param>
 /// <param name="subQuery">Sub Query.</param>
 /// <param name="subQueryScalarRestrict">Sub query scalar restrict.</param>
 public APSqlConditionPhrase(APSqlOperateExpr expr, APSqlConditionOperator conditionOperator, APSqlSelectCommand subQuery, APSqlSubQueryScalarRestrict subQueryScalarRestrict)
     : this(expr, conditionOperator, subQuery, null)
 {
     _subQueryScalarRestrict = subQueryScalarRestrict;
 }
Example #9
0
 /// <summary>
 /// Create a new condition phrase.
 /// </summary>
 /// <param name="expr">SQL Expression.</param>
 /// <param name="conditionOperator">Condition operator.</param>
 /// <param name="value">Value.</param>
 public APSqlConditionPhrase(APSqlOperateExpr expr, APSqlConditionOperator conditionOperator, object value)
     : this(expr, conditionOperator, value, null)
 {
 }
		/// <summary>
		/// Create a new condition phrase where sub query when use 'ANY | SOME | ALL'.
		/// </summary>
		/// <param name="expr">SQL Expression.</param>
		/// <param name="conditionOperator">Condition operator.</param>
		/// <param name="subQuery">Sub Query.</param>
		/// <param name="subQueryScalarRestrict">Sub query scalar restrict.</param>
		public APSqlConditionPhrase(APSqlOperateExpr expr, APSqlConditionOperator conditionOperator, APSqlSelectCommand subQuery, APSqlSubQueryScalarRestrict subQueryScalarRestrict)
			: this(expr, conditionOperator, subQuery, null)
		{
			_subQueryScalarRestrict = subQueryScalarRestrict;
		}
		/// <summary>
		/// Create a new condition phrase.
		/// </summary>
		/// <param name="expr">SQL Expression.</param>
		/// <param name="conditionOperator">Condition operator.</param>
		/// <param name="value">Value.</param>
		public APSqlConditionPhrase(APSqlOperateExpr expr, APSqlConditionOperator conditionOperator, object value)
			: this(expr, conditionOperator, value, null)
		{
		}
		/// <summary>
		/// Create a new condition phrase where sub query when use '[NOT] EXISTS'
		/// </summary>
		/// <param name="subQuery">Sub Query.</param>
		/// <param name="conditionOperator">'EXISTS' or 'NOT EXISTS'</param>
		public APSqlConditionPhrase(APSqlSelectCommand subQuery, APSqlConditionOperator conditionOperator)
		{
			if (subQuery == null)
				throw new ArgumentNullException("subQuery");
			if (conditionOperator != APSqlConditionOperator.Exists && conditionOperator != APSqlConditionOperator.NotExists)
				throw new ArgumentException(APResource.APDB_OperatorExists, "conditionOperator");

			_expr = null;
			_conditionOperator = conditionOperator;
			_value = subQuery;
		}
Example #13
0
		/// <summary>
		/// Get 'WHERE' phrase.
		/// </summary>
		/// <param name="op">Condition operator.</param>
		/// <param name="joinType">Condition join type.</param>
		/// <param name="values">Values.</param>
		/// <returns>An APSqlWherePhrase.</returns>
		protected virtual APSqlWherePhrase GetQueryWherePhrase(APSqlConditionOperator op, APSqlConditionJoinType joinType, string[] values)
		{
			List<APSqlWherePhrase> list = new List<APSqlWherePhrase>();

			foreach (string value in values)
				list.Add(GetQueryWherePhrase(op, value));

			if (list.Count == 1)
				return list[0];

			if (joinType == APSqlConditionJoinType.AND)
				return new APSqlConditionAndPhrase(list);
			else
				return new APSqlConditionOrPhrase(list);
		}
Example #14
0
		/// <summary>
		/// Get 'WHERE' phrase.
		/// </summary>
		/// <param name="op">Condition operator.</param>
		/// <param name="value">Value.</param>
		/// <returns>An APSqlWherePhrase.</returns>
		protected virtual APSqlWherePhrase GetQueryWherePhrase(APSqlConditionOperator op, string value)
		{
			object v = null;

			if (value == "NULL")
			{
				v = DBNull.Value;
			}
			else
			{
				v = TryGetFilterValue(value);
			}

			return new APSqlConditionPhrase(_selectExpr, op, v);
		}