Пример #1
0
        public Task RegisterAggregate(IAggregateCommandsHandlerDescriptor descriptor)
        {
            var aggregateHubType = typeof(AggregateHubActor <>).MakeGenericType(descriptor.AggregateType);
            var aggregateActor   = CreateDIActor(aggregateHubType, descriptor.AggregateType.BeautyName() + "_Hub");

            foreach (var aggregateCommandInfo in descriptor.RegisteredCommands)
            {
                _aggregatesCatalog.Add(aggregateCommandInfo, aggregateActor);
            }

            return(Task.CompletedTask);
        }
Пример #2
0
 public static IMessageRouteMap New(IAggregateCommandsHandlerDescriptor descriptor, string name = null)
 {
     return(new CustomRouteMap(name ?? $"map for {descriptor.GetType().Name}",
                               r => r.RegisterAggregate(descriptor)));
 }