e106199 wrote:
status = 1 AND
year = 2 AND
withdrawal = null AND
admission <= today
Above is one predicate:
IPredicateExpression expr1 = new PredicateExpression(
TransFields.Year == 2
& TransFields.WithDrawal == null
& TransFields.Admission <= DateTime.Now);
e106199 wrote:
status = 1 AND
year = 2 AND
withdrawal != null AND
withdrawal >= today
this is another predicate:
IPredicateExpression expr2 = new PredicateExpression(
TransFields.Status == 1
& TransFields.Year == 2
& TransFields.WithDrawal != null
& TransFields.Admission >= DateTime.Now);
Then add those to the main filter:
IPredicateExpression filter = new PredicateExpression();
filter.Add(expr1);
filter.AddWithOr(expr2);
You also could use parenthesis:
IPredicateExpression expr1 = new PredicateExpression(
( TransFields.Year == 2
& TransFields.WithDrawal == null
& TransFields.Admission <= DateTime.Now ) |
( TransFields.Status == 1
& TransFields.Year == 2
& TransFields.WithDrawal != null
& TransFields.Admission >= DateTime.Now) );
(more info...).