AND/OR Expressions with Web Services
The following code is an example on how to create an AND and an OR expression with CRM web services. This particular code retrieves all records in a particular Event_ID AND either a statuscode of '5' OR '6'.
Dim Service As CrmService = GetCrmService()
Dim filter As New CrmSdk.FilterExpression
Dim query As New CrmSdk.QueryExpression0
Dim becollection As New CrmSdk.BusinessEntityCollection
Dim cond As New CrmSdk.ConditionExpression
cond.AttributeName = "new_eventid"
cond.Operator = CrmSdk.ConditionOperator.Equal
cond.Values = New String() {EventId}
filter.FilterOperator = LogicalOperator.And
filter.Conditions = New CrmSdk.ConditionExpression() {cond}
Dim cond3 As New CrmSdk.ConditionExpression
cond3.AttributeName = "statuscode"
cond3.Operator = CrmSdk.ConditionOperator.Equal
cond3.Values = New String() {"5"}
Dim cond4 As New CrmSdk.ConditionExpression
cond4.AttributeName = "statuscode"
cond4.Operator = CrmSdk.ConditionOperator.Equal
cond4.Values = New String() {"6"}
Dim orfilter As New CrmSdk.FilterExpression
orfilter.Conditions = New CrmSdk.ConditionExpression() {cond3, cond4}
orfilter.FilterOperator = LogicalOperator.Or
Dim usefilter As New CrmSdk.FilterExpression
usefilter.Filters = New CrmSdk.FilterExpression() {filter, orfilter}
usefilter.FilterOperator = LogicalOperator.And
query.EntityName = CrmSdk.EntityName.new_eventexpense.ToString()
query.ColumnSet = New AllColumns()
query.Criteria = usefilter
becollection = Service.RetrieveMultiple(query)
|
<<Back