Esempio n. 1
0
        protected override IQuery <Bid> ApplyWhereClause(IQuery <Bid> query, BidFilterDto filter)
        {
            var definedPredicates = new List <IPredicate>();

            AddIfDefined(FilterAuction(filter), definedPredicates);
            AddIfDefined(FilterBuyer(filter), definedPredicates);

            if (definedPredicates.Count == 0)
            {
                return(query);
            }
            if (definedPredicates.Count == 1)
            {
                return(query.Where(definedPredicates.First()));
            }
            var resultPredicate = new CompositePredicate(definedPredicates);

            return(query.Where(resultPredicate));
        }
Esempio n. 2
0
 private static SimplePredicate FilterBuyer(BidFilterDto filter)
 {
     return(filter.BuyerId.Equals(Guid.Empty)
         ? null
         : new SimplePredicate(nameof(Bid.BuyerId), ValueComparingOperator.Equal, filter.BuyerId));
 }