Example #1
0
        public void StoreUnsavedMutations(IProcessItemEventContainer processItem, MutationStoredCallback callback)
        {
            string lastProcessItemMutationId = null;
            var    lastMutationDateTimeUtc   = DateTime.MinValue;

            _loggingAdapter.WriteEntry(new LogEntry(LoggingEventType.Information, "Storing mutations: {mutations}",
                                                    new Dictionary <string, object>()
            {
                { "mutations", JsonConvert.SerializeObject(processItem.UnsavedMutations) }
            }));
            while (processItem.UnsavedMutations.Any())
            {
                _eventStreamsLock.EnterWriteLock();
                _eventStreams.Add(new ProcessItemEvent()
                {
                    MutationId           = lastProcessItemMutationId = Guid.NewGuid().ToString(),
                    MutationTimestampUtc = lastMutationDateTimeUtc = DateTime.UtcNow,
                    ProcessItemId        = processItem.ProcessItemId,
                    Mutation             = processItem.UnsavedMutations.Dequeue(),
                });
                _eventStreamsLock.ExitWriteLock();
            }

            callback?.Invoke(lastProcessItemMutationId, lastMutationDateTimeUtc);
        }
Example #2
0
 public void StoreUnsavedMutations(IProcessItemEventContainer processItem, MutationStoredCallback callback)
 {
     throw new NotImplementedException();
 }