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); }
public static IMessageRouteMap New(IAggregateCommandsHandlerDescriptor descriptor, string name = null) { return(new CustomRouteMap(name ?? $"map for {descriptor.GetType().Name}", r => r.RegisterAggregate(descriptor))); }