public SubQuery(List <FieldQuery> oFieldQueries, OperatorType oOperatorType) { switch (oFieldQueries.Capacity) { case 1: foreach (FieldQuery QryExp in oFieldQueries) { _StartExpression += QryExp.Expression; } break; default: FieldQuery oLastQueryExp = oFieldQueries.Last <FieldQuery>(); foreach (FieldQuery QryExp in oFieldQueries) { if (!QryExp.Equals(oLastQueryExp)) { _StartExpression += QryExp.ExpressionOpearator.StartTag; _StartExpression += QryExp.Expression; _EndExpression += QryExp.ExpressionOpearator.EndTag; } else { _StartExpression += QryExp.Expression; } } break; } _Expression += _StartExpression; _Expression += _EndExpression; QBOperator oOperator = new QBOperator(oOperatorType); _ExpressionOpearator = oOperator; }
public CAMLQuery(List <SubQuery> oQueryExpressions, Nullable <int> iRowLimit, OrderByQuery oOrderByExpression) { switch (oQueryExpressions.Capacity) { case 1: foreach (SubQuery QryExp in oQueryExpressions) { _StartExpression += QryExp.Expression; } break; default: SubQuery oLastQueryExp = oQueryExpressions.Last <SubQuery>(); foreach (SubQuery QryExp in oQueryExpressions) { if (!QryExp.Equals(oLastQueryExp)) { _StartExpression += QryExp.ExpressionOpearator.StartTag; _StartExpression += QryExp.Expression; _EndExpression += QryExp.ExpressionOpearator.EndTag; } else { _StartExpression += QryExp.Expression; } } break; } _Expression += _StartExpression; _Expression += _EndExpression; _WhereExpression = string.Format(_Where, _Expression); if (oOrderByExpression == null) { _QueryExpression = string.Format(_Query, _WhereExpression); } else { _QueryExpression = string.Format("{0}{1}", _WhereExpression, oOrderByExpression.Expression); _QueryExpression = string.Format(_Query, _QueryExpression); } if (iRowLimit.HasValue) { _RowLimit = string.Format(_RowLimit, iRowLimit); _ViewExpression = string.Format(_ViewWithRowLimit, _QueryExpression, _RowLimit); } else { _ViewExpression = string.Format(_View, _QueryExpression); } }