Quantcast
Channel: Exchange Server Development forum
Viewing all articles
Browse latest Browse all 7132

EWS complex searchfiltercollection with multiple logical operators

$
0
0

Hi everyone,

Can you help me, how to make a searchfiltercollection with multiple logical operators?

I would like to filter by sender and receiver in that way: (sender1 or sender2) and (receiver1 or receiver2)

My solution doesnt work:

//filter email sender
ArrayList<SearchFilter> filterEmailFromArray = new ArrayList<SearchFilter>();
filterEmailFromArray.add(new SearchFilter.IsEqualTo(EmailMessageSchema.Sender,new EmailAddress("sender1@email.com")));
filterEmailFromArray.add(new SearchFilter.IsEqualTo(EmailMessageSchema.Sender,new EmailAddress("sender2@email.com")));
SearchFilter filterEmailFrom = new SearchFilter.SearchFilterCollection(LogicalOperator.Or,filterEmailFromArray);

//filter email received by
ArrayList<SearchFilter> filterEmailToArray = new ArrayList<SearchFilter>();
filterEmailToArray.add(new SearchFilter.IsEqualTo(EmailMessageSchema.ReceivedBy,new EmailAddress("receiver1@email.com")));
filterEmailToArray.add(new SearchFilter.IsEqualTo(EmailMessageSchema.ReceivedBy,new EmailAddress("receiver2@email.com")));
SearchFilter filterEmailTo = new SearchFilter.SearchFilterCollection(LogicalOperator.Or,filterEmailToArray);

//final filter
ArrayList<SearchFilter> filterExchangeArray = new ArrayList<SearchFilter>();
filterExchangeArray.add(filterEmailFrom);
filterExchangeArray.add(filterEmailTo);
SearchFilter filterExchange = new SearchFilter.SearchFilterCollection(LogicalOperator.And,filterExchangeArray);

This filter finds me 0 results, what is wrong.

Thanks in advance


Viewing all articles
Browse latest Browse all 7132

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>