Example #1
0
        public InputObjectGraphType <TModel> BuildInputGraphType(GraphTypeCache cache)
        {
            var graphType = new InputObjectGraphType <TModel>
            {
                Name = GraphTypeName + "Input"
            };

            if (!cache.TryPrimeInput(graphType))
            {
                return((InputObjectGraphType <TModel>)cache.GetOrCreateInputType(typeof(TModel)));
            }

            foreach (var prop in typeof(TModel).GetProperties().Except(_config.PropsToIgnore))
            {
                var fieldConfig = _config.GetFieldConfig(prop);
                fieldConfig.ConfigureInputTypeField(graphType, cache);
            }
            return(graphType);
        }