Beispiel #1
0
 private static SimplePredicate FilterAuction(RaiseFilterDto filter)
 {
     if (filter.RaiseForAuctionID <= 0)
     {
         return(null);
     }
     return(new SimplePredicate(nameof(Raise.AuctionId), ValueComparingOperator.Equal, filter.RaiseForAuctionID));
 }
Beispiel #2
0
 private static SimplePredicate FilterAmount(RaiseFilterDto filter)
 {
     if (filter.Amount <= 0)
     {
         return(null);
     }
     return(new SimplePredicate(nameof(Raise.Amount), ValueComparingOperator.GreaterThanOrEqual, filter.Amount));
 }
Beispiel #3
0
        protected override IQuery <Raise> ApplyWhereClause(IQuery <Raise> query, RaiseFilterDto filter)
        {
            var definedPredicates = new List <IPredicate>();

            AddIfDefined(FilterUsers(filter), definedPredicates);
            AddIfDefined(FilterAmount(filter), definedPredicates);
            AddIfDefined(FilterAuction(filter), definedPredicates);
            if (definedPredicates.Count == 0)
            {
                return(query);
            }
            if (definedPredicates.Count == 1)
            {
                return(query.Where(definedPredicates.First()));
            }
            var wherePredicate = new CompositePredicate(definedPredicates);

            return(query.Where(wherePredicate));
        }