private void Handle(ExecutionPointerExitedEvent evt) { var pointer = GetExecutionPointer(evt.ExecutionPathId, evt.ExecutionPointerId); pointer.IsActive = false; Version = evt.Version; UpdateDateTime = evt.ExitDateTime; }
public void CompleteBoundaryEvts(string pathId, List <string> evts) { var path = GetExecutionPath(pathId); var pointers = path.ActivePointers.Where(p => evts.Contains(p.FlowNodeId)); foreach (var pointer in pointers) { var evt = new ExecutionPointerExitedEvent(Guid.NewGuid().ToString(), AggregateId, Version + 1, pointer.ExecutionPathId, pointer.Id, DateTime.UtcNow); Handle(evt); } }