コード例 #1
0
 public static EventFlowOptions AddEvents(
     this EventFlowOptions eventFlowOptions,
     params Type[] aggregateEventTypes)
 {
     eventFlowOptions.AddEvents((IEnumerable<Type>)aggregateEventTypes);
     return eventFlowOptions;
 }
コード例 #2
0
        public static void AddEventsOrClearOnSnapshot(
			this ICollection<object> events, Commit commit, bool applySnapshot)
        {
            if (applySnapshot && commit.Snapshot != null)
                events.Clear();
            else
                events.AddEvents(commit);
        }
コード例 #3
0
 public static EventFlowOptions AddEvents(
     this EventFlowOptions eventFlowOptions,
     Assembly fromAssembly)
 {
     var aggregateEventTypes = fromAssembly
         .GetTypes()
         .Where(t => !t.IsAbstract && typeof(IAggregateEvent).IsAssignableFrom(t));
     eventFlowOptions.AddEvents(aggregateEventTypes);
     return eventFlowOptions;
 }
コード例 #4
0
 public static EventFlowOptions AddEvents(
     this EventFlowOptions eventFlowOptions,
     Assembly fromAssembly,
     Predicate<Type> predicate = null)
 {
     predicate = predicate ?? (t => true);
     var aggregateEventTypes = fromAssembly
         .GetTypes()
         .Where(t => !t.IsAbstract && typeof(IAggregateEvent).IsAssignableFrom(t))
         .Where(t => predicate(t));
     return eventFlowOptions.AddEvents(aggregateEventTypes);
 }
コード例 #5
0
 public static EventFlowOptions AddDefaults(
     this EventFlowOptions eventFlowOptions,
     Assembly fromAssembly,
     Predicate<Type> predicate = null)
 {
     return eventFlowOptions
         .AddEvents(fromAssembly, predicate)
         .AddCommandHandlers(fromAssembly, predicate)
         .AddMetadataProviders(fromAssembly, predicate)
         .AddSubscribers(fromAssembly, predicate)
         .AddEventUpgraders(fromAssembly, predicate)
         .AddQueryHandlers(fromAssembly, predicate);
 }