Пример #1
0
        public static IDomainContainer AddEvents(
            this IDomainContainer domainContainer,
            Assembly fromAssembly,
            Predicate <Type> predicate = null)
        {
            predicate = predicate ?? (t => true);
            var aggregateEventTypes = fromAssembly
                                      .GetTypes()
                                      .Where(t => !t.GetTypeInfo().IsAbstract&& typeof(IAggregateEvent).GetTypeInfo().IsAssignableFrom(t))
                                      .Where(t => predicate(t));

            return(domainContainer.AddEvents(aggregateEventTypes));
        }
 public static IDomainContainer AddDefaults(
     this IDomainContainer domainContainer,
     Assembly fromAssembly,
     Predicate <Type> predicate = null)
 {
     return(domainContainer
            .AddEvents(fromAssembly, predicate)
            .AddJobs(fromAssembly, predicate)
            .AddCommands(fromAssembly, predicate)
            .AddCommandHandlers(fromAssembly, predicate)
            .AddMetadataProviders(fromAssembly, predicate)
            .AddSubscribers(fromAssembly, predicate)
            .AddQueryHandlers(fromAssembly, predicate));
 }
Пример #3
0
 public static IDomainContainer AddEvents(
     this IDomainContainer domainContainer,
     params Type[] aggregateEventTypes)
 {
     return(domainContainer.AddEvents((IEnumerable <Type>)aggregateEventTypes));
 }