protected override IQuery <GroupUser> ApplyWhereClause(IQuery <GroupUser> query, GroupUserFilterDto filter) { var simplePredicate = filter.GroupId.Equals(null) ? new SimplePredicate(nameof(GroupUser.UserId), ValueComparingOperator.Equal, filter.UserId) : new SimplePredicate(nameof(GroupUser.GroupId), ValueComparingOperator.Equal, filter.GroupId); return(filter.UserId.Equals(null) && filter.GroupId.Equals(null) ? query : query.Where(simplePredicate)); }
protected override IQuery <GroupUser> ApplyWhereClause(IQuery <GroupUser> query, GroupUserFilterDto filter) { var wherePredicate = new CompositePredicate(new List <IPredicate> { new SimplePredicate(nameof(GroupUser.UserId), ValueComparingOperator.Equal, filter.UserId), new SimplePredicate(nameof(GroupUser.GroupId), ValueComparingOperator.Equal, filter.GroupId), }); if (filter.IsAccepted != null) { wherePredicate.Predicates.Add(new SimplePredicate(nameof(GroupUser.IsAccepted), ValueComparingOperator.Equal, filter.IsAccepted)); } if (filter.IsAdmin != null) { wherePredicate.Predicates.Add(new SimplePredicate(nameof(GroupUser.IsAdmin), ValueComparingOperator.Equal, filter.IsAdmin)); } return(query.Where(wherePredicate)); }