public static void Spool(AggregateState state, IEvent evnt) { if (state == null) { throw new ArgumentNullException("state"); } InvokeMethodOn(state, evnt); }
public static void Spool(AggregateState state, IEnumerable <IEvent> events) { if (state == null) { throw new ArgumentNullException("state"); } foreach (var evnt in events) { InvokeMethodOn(state, evnt); } }
public static void Spool(AggregateState state, IEnumerable <Transition> transitions) { Spool(state, transitions.SelectMany(t => t.Events).Select(e => (IEvent)e.Data)); }
private static void InvokeMethodOn(AggregateState state, IEvent evnt) { state.Invoke(evnt); }