Here are the examples of the csharp api class System.Collections.Concurrent.ConcurrentBag.Add(Event) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
2 Examples
0
1. Example
Project: shriek-fx
Source File: SqlEventStorage.cs
Source File: SqlEventStorage.cs
public void Save(Event theEvent) { Func<string, ConcurrentBag<Event>, ConcurrentBag<Event>> func = (x, list) => { list.Add(theEvent); return list; }; _eventsDict.AddOrUpdate(((dynamic)theEvent).AggregateId.ToString(), new ConcurrentBag<Event> { theEvent }, func); var serializedData = JsonConvert.SerializeObject(theEvent); var storedEvent = new StoredEvent( ((dynamic)theEvent).AggregateId.ToString(), serializedData, theEvent.Version, "" ); eventStoreRepository.Store(storedEvent); }
0
2. Example
Project: shriek-fx
Source File: SqlEventStorage.cs
Source File: SqlEventStorage.cs
public IEnumerable<Event> GetEvents<TKey>(TKey aggregateId, int afterVersion = 0) where TKey : IEquatable<TKey> { return _eventsDict.GetOrAdd(aggregateId.ToString(), x => { var storeEvents = eventStoreRepository.GetEvents(aggregateId, afterVersion); var eventlist = new ConcurrentBag<Event>(); foreach (var e in storeEvents) { var eventType = Type.GetType(e.MessageType); eventlist.Add(JsonConvert.DeserializeObject(e.Data, eventType) as Event); } return eventlist; }) .Where(e => e.Version >= afterVersion).OrderBy(e => e.Timestamp); }