public FieldType GetFieldType() { return(new FieldType { ResolvedType = new ObjectGraphTypeFromDomain(_domainDefinition, _provider), Name = GetDomainName(_domainDefinition.Name), Description = _domainDefinition.GetType().GetCustomAttribute <DescriptionAttribute>()?.Description, Arguments = new QueryArguments(), Resolver = new FuncFieldResolver <Object>(Execute), }); }
public ObjectGraphTypeFromDomain(IContextDefinition domainDefinition, IServiceProvider provider) { var modelType1 = domainDefinition.GetType(); IsTypeOf = type => true; Name = modelType1.Name; Description = modelType1.GetCustomAttribute <DescriptionAttribute>()?.Description; foreach (var query in domainDefinition.Queries) { var gQueryType = typeof(IGraphQueryHandler <,>).MakeGenericType(query.Type, query.QueryResultType); var handler = (IGraphQueryHandler)provider.GetService(gQueryType); AddField(handler.GetFieldType(false)); } }