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