Посмотрите на эти 2:
((criterias.birthday == p.BirthDay|| criterias.birthday == null))
&& ((criterias.marriageDate == null || criterias.marriageDate == p.MarriageDate))
Не думаю, что weddingDate доставит вам проблемы, но день рождения использует неправильный порядок.
В этом случае вам нужно свойство «оценка короткого замыкания» ||
, измените его на:
(criterias.birthday == null || criterias.birthday == p.BirthDay)
&& (criterias.marriageDate == null || criterias.marriageDate == p.MarriageDate)