protected override IQuery <Rating> ApplyWhereClause(IQuery <Rating> query, RatingFilterDTO filter)
        {
            var predicates = new List <IPredicate>();

            if (filter.SearchedRatedUsersId != null && filter.SearchedRatedUsersId.Length != 0)
            {
                var predicate = new List <IPredicate>(filter.SearchedRatedUsersId
                                                      .Select(searchedUserId => new SimplePredicate(nameof(Rating.RatedUserId), ValueComparingOperator.Equal, searchedUserId)));

                predicates.Add(new CompositePredicate(predicate));
            }
            if (filter.SearchedScore.HasValue)
            {
                predicates.Add(new SimplePredicate(nameof(Rating.Score), ValueComparingOperator.GreaterThanOrEqual, filter.SearchedScore.Value));
            }

            return(query.Where(new CompositePredicate(predicates)));
        }
Exemplo n.º 2
0
 public async Task <QueryResultDTO <RatingDTO, RatingFilterDTO> > ListRatingsAsync(RatingFilterDTO filter)
 {
     using (UnitOfWorkProvider.Create())
     {
         return(await ratingService.ListRatingsAsync(filter));
     }
 }