Example #1
0
        private static SimplePredicate FilterFavoriteJobJobOfferId(FavoriteJobFilterDto filter)
        {
            if (filter.JobOfferId.Equals(Guid.Empty))
            {
                return(null);
            }

            return(new SimplePredicate(nameof(FavoriteJob.JobOfferId), ValueComparingOperator.Equal, filter.JobOfferId));
        }
Example #2
0
        protected override IQuery <FavoriteJob> ApplyWhereClause(IQuery <FavoriteJob> query, FavoriteJobFilterDto filter)
        {
            var definedPredicates = new List <IPredicate>();

            AddIfDefined(FilterFavoriteJobApplicantId(filter), definedPredicates);
            AddIfDefined(FilterFavoriteJobJobOfferId(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));
        }