Example #1
0
        public override FilteringExpression ToFilteringExpression(ParameterExpression parameterExpression)
        {
            var expression = GetFilteringExpression(parameterExpression);
            var result     = new FilteringExpression(expression, LogicalConnection.GetExpression());

            return(result);
        }
Example #2
0
        public FilteringExpression ConnectTo(FilteringExpression filter)
        {
            var expression = LogicalConnection(Expression, filter.Expression);

            var result = new FilteringExpression(expression, filter.LogicalConnection);

            return(result);
        }
Example #3
0
        public override FilteringExpression ToFilteringExpression(ParameterExpression parameterExpression)
        {
            var filteringExpressions = Filters.Select(x => x.ToFilteringExpression(parameterExpression)).ToList();

            FilteringExpression filteringExpression = null;

            foreach (var currentExpression in filteringExpressions)
            {
                if (filteringExpression == null)
                {
                    filteringExpression = currentExpression;
                    continue;
                }

                filteringExpression = filteringExpression.ConnectTo(currentExpression);
            }

            return(filteringExpression.WithLogicalConnection(LogicalConnection.GetExpression()));
        }