コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: GraphDomain.cs プロジェクト: fzf003/EventFly
 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));
     }
 }
コード例 #3
0
        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];
        }
コード例 #4
0
        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));
            }
        }