示例#1
0
        public void AppendEventsToStream(string streamId, long streamVersion, ICollection <object> events)
        {
            if (events.Count == 0)
            {
                return;
            }

            try
            {
                _store.AppendToStore(streamId, MessageAttribute.Empty, streamVersion, events);
            }
            catch (AppendOnlyStoreConcurrencyException e)
            {
                // load server events
                var server = LoadEventStream(streamId);
                // throw a real problem
                throw OptimisticConcurrencyException.Create(server.StreamVersion, e.ExpectedStreamVersion, streamId, server.Events);
            }
        }