public static EventFlowOptions AddEvents( this EventFlowOptions eventFlowOptions, params Type[] aggregateEventTypes) { eventFlowOptions.AddEvents((IEnumerable<Type>)aggregateEventTypes); return eventFlowOptions; }
public static void AddEventsOrClearOnSnapshot( this ICollection<object> events, Commit commit, bool applySnapshot) { if (applySnapshot && commit.Snapshot != null) events.Clear(); else events.AddEvents(commit); }
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; }
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); }
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); }