Exemplo n.º 1
0
        public override void ConfigureField(
            NameString argumentName,
            IObjectFieldDescriptor descriptor)
        {
            QueryableSortContext VisitSortArgumentExecutor(
                IValueNode valueNode,
                ISortInputType filterInput,
                bool inMemory)
            {
                var visitorContext = new QueryableSortContext(
                    filterInput,
                    inMemory);

                // rewrite GraphQL input object into expression tree.
                Visitor.Visit(valueNode, visitorContext);

                return(visitorContext);
            }

            descriptor.ConfigureContextData(
                contextData =>
            {
                contextData[ContextVisitSortArgumentKey] =
                    (VisitSortArgument)VisitSortArgumentExecutor;
                contextData[ContextArgumentNameKey] = argumentName;
            });
        }