Hi,
I need to generate an OData filter like
$filter=((A eq '1') or (B eq '1')) AND ((C contains 'sync') or (D contains 'fusion'))
how can I achieve this result?
With the following code it doesn't add the parentheses between the first two condition (A & B) and the second two (C & D).
WhereFilter filter1 = new WhereFilter();
var predicate1 = new List
{
new() { Condition = "or", Field = "A", value = "1", Operator = "equal", IgnoreCase = true, IgnoreAccent = true },
new() { Condition = "or", Field = "B", value = "2", Operator = "equal", IgnoreCase = true, IgnoreAccent = true },
}
filter1 = WhereFilter.And(predicate1);
Query qry = new Query().Where(filter1);
WhereFilter filter2 = new WhereFilter();
var predicate2 = new List
{
new() { Condition = "or", Field = "C", value = "sync", Operator = "contains", IgnoreCase = true, IgnoreAccent = true },
new() { Condition = "or", Field = "D", value = "fusion", Operator = "contains", IgnoreCase = true, IgnoreAccent = true },
}
filter2 = WhereFilter.And(predicate2);
qry = qry.Where(filter2);