public Task <IEventPersistence.AppendEventResult> AppendEvent(IEventPersistence.Event @event) { var streamName = @event.StreamName; long actualStreamPosition = 0; if (!_streams.ContainsKey(streamName)) { _streams.Add(streamName, new List <IndexedStreamEvent>()); } else { actualStreamPosition = _streams[streamName].Last().StreamPosition; } var persistedEvent = new PersistedEvent(_globalPosition, actualStreamPosition, @event); _events.Add(persistedEvent); _streams[streamName].Add(new IndexedStreamEvent(streamName, actualStreamPosition, _globalPosition)); _globalPosition += 1; return(Task.FromResult(new IEventPersistence.AppendEventResult(actualStreamPosition))); }
public Task <IEventPersistence.AppendEventResult> AppendEvent(IEventPersistence.Event @event) { throw new System.NotImplementedException(); }