Guest User

Untitled

a guest
Jun 23rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.73 KB | None | 0 0
  1.         /// <returns>returns new version</returns>
  2.         public long SaveEvents(string id, IEnumerable<IEvent> changes, long expectedVersion)
  3.         {
  4.             _storageFactory.InitializeForWriting();
  5.             ITapeStream stream = _storageFactory.GetOrCreateStream(id);
  6.  
  7.             if (expectedVersion != -1 && expectedVersion != stream.GetCurrentVersion())
  8.             {
  9.                 throw new ConcurrencyException();
  10.             }
  11.  
  12.             foreach (IEvent @event in changes)
  13.             {
  14.                 if (stream.TryAppend(_serializer.Serialize(@event)))
  15.                 {
  16.                     _publisher.SendOne(@event);
  17.                 }
  18.             }
  19.             return stream.GetCurrentVersion();
  20.         }
Add Comment
Please, Sign In to add comment