public void RegisterContext(IContextDefinition context) { _contexts.Add(context); _events.AddDefinitions(context.Events); _publicEvents.AddDefinitions(context.PublicEvents); _privateEvents.AddDefinitions(context.PrivateEvents); _externalEvents.AddDefinitions(context.ExternalEvents); _snapshots.AddDefinitions(context.Snapshots); _commands.AddDefinitions(context.Commands); }
public GraphDomain(IContextDefinition domainDefinition, IServiceProvider provider) { _domainDefinition = domainDefinition; _provider = provider; foreach (var query in _domainDefinition.Queries) { var name = query.Type.Name; name = !name.EndsWith("Query") ? name : name.Substring(0, name.Length - "Query".Length); _handlers.Add(name, typeof(IGraphQueryHandler <,>).MakeGenericType(query.Type, query.QueryResultType)); } }
public GenericContext(IContextDefinition <TEntity> contextDefinition) : base(contextDefinition.ComponentCount, 0, contextDefinition.ContextInfo, AercFactory, contextDefinition.EntityFactory) { Definition = contextDefinition; if (contextDefinition.EventListenerIndices.Count > 0) { OnEntityWillBeDestroyed += ClearEventListenersOnDestroyed; } _primaryIndexes = new IEntityIndex[contextDefinition.ComponentCount]; }
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)); } }