Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <returns>returns new version</returns>
- public long SaveEvents(string id, IEnumerable<IEvent> changes, long expectedVersion)
- {
- _storageFactory.InitializeForWriting();
- ITapeStream stream = _storageFactory.GetOrCreateStream(id);
- if (expectedVersion != -1 && expectedVersion != stream.GetCurrentVersion())
- {
- throw new ConcurrencyException();
- }
- foreach (IEvent @event in changes)
- {
- if (stream.TryAppend(_serializer.Serialize(@event)))
- {
- _publisher.SendOne(@event);
- }
- }
- return stream.GetCurrentVersion();
- }
Add Comment
Please, Sign In to add comment