static void CAMLQueryWithSubQuery() { List<string> status = new List<string>(); status.Add("Status1"); status.Add("Status2"); List<SubQuery> queries = new List<SubQuery>(); foreach (string sta in status) { List<FieldQuery> singleQueries = new List<FieldQuery>(); QBField Statusfield = new QBField("LU_Status", sta, FieldType.Lookup); QBField StatusHiddenfield = new QBField("StatusHidden", sta, FieldType.Text); FieldQuery sqe1 = new FieldQuery(StatusHiddenfield, OperationType.Neq, OperatorType.And); FieldQuery sqe = new FieldQuery(Statusfield, OperationType.Eq, OperatorType.And); singleQueries.Add(sqe1); singleQueries.Add(sqe); SubQuery subQuery = new SubQuery(singleQueries, OperatorType.Or); queries.Add(subQuery); } CAMLQuery oCAMLquery = new CAMLQuery(queries, 47, null); Console.Write(oCAMLquery.ViewExpression); }
/// <summary> /// oField for field details, like internalName, Value, and DataType /// oOperationType for same field opeartion, ex eq, neq etc /// oOperatorType for next field operator, ex And or /// </summary> /// <param name="oField"></param> /// <param name="oOperationType"></param> /// <param name="oOperatorType"></param> public FieldQuery(QBField oField, OperationType oOperationType, OperatorType oOperatorType) { QBOperation oOperation = new QBOperation(oOperationType); if (oOperationType == OperationType.IsNull || oOperationType == OperationType.IsNotNull) { _Expression = string.Format("{0}{1}{2}", oOperation.StartTag, oField.NullExpression, oOperation.EndTag); } else { _Expression = string.Format("{0}{1}{2}", oOperation.StartTag, oField.Expression, oOperation.EndTag); } QBOperator oOperator = new QBOperator(oOperatorType); _ExpressionOpearator = oOperator; }
static void CAMLQueryWithSubQueryAndOrderby() { List<string> status = new List<string>(); status.Add("Status1"); status.Add("Status2"); List<SubQuery> queries = new List<SubQuery>(); foreach (string sta in status) { List<FieldQuery> singleQueries = new List<FieldQuery>(); QBField Statusfield = new QBField("LU_Status", sta, FieldType.Lookup); QBField StatusHiddenfield = new QBField("StatusHidden", sta, FieldType.Text); FieldQuery sqe1 = new FieldQuery(StatusHiddenfield, OperationType.Neq, OperatorType.And); FieldQuery sqe = new FieldQuery(Statusfield, OperationType.Eq, OperatorType.And); singleQueries.Add(sqe1); singleQueries.Add(sqe); SubQuery subQuery = new SubQuery(singleQueries, OperatorType.Or); queries.Add(subQuery); } QBField domainName = new QBField(); domainName.Name = "DomainName"; QBField statusF = new QBField(); statusF.Name = "LU_Status"; List<QBOrderBy> allOrderBy = new List<QBOrderBy>(); allOrderBy.Add(domainName.OrderByExpressionAsc); allOrderBy.Add(statusF.OrderByExpressionDesc); OrderByQuery orderByQuery = new OrderByQuery(allOrderBy); CAMLQuery oCAMLquery = new CAMLQuery(queries, 47, orderByQuery); Console.Write(oCAMLquery.ViewExpression); }