Exemplo n.º 1
0
        public override Expression HandleOperation(
            QueryableFilterContext context,
            IFilterOperationField field,
            IValueNode value,
            object parsedValue)
        {
            Expression property = context.GetInstance();

            return(FilterExpressionBuilder.In(
                       property,
                       context.RuntimeTypes.Peek().Source,
                       parsedValue));
        }
        public static FilterScope <Expression> AddIsNullClosure(
            this QueryableFilterContext context)
        {
            var closure = new QueryableScope(
                context.RuntimeTypes.Peek(),
                "_s" + context.Scopes.Count,
                false);

            context.Scopes.Push(closure);

            context.GetLevel()
            .Enqueue(
                FilterExpressionBuilder.Equals(context.GetClosure().Parameter, null));

            return(closure);
        }
        public override Expression HandleOperation(
            QueryableFilterContext context,
            IFilterOperationField field,
            IValueNode value,
            object?parsedValue)
        {
            Expression property = context.GetInstance();

            parsedValue = ParseValue(value, parsedValue, field.Type, context);

            if (parsedValue is null)
            {
                throw new InvalidOperationException();
            }

            return(FilterExpressionBuilder.GreaterThan(property, parsedValue));
        }