Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }