public void Append(IIdentity id, long expectedVersion, IEnumerable <IEvent> events) { Condition.Requires(id, "id").IsNotNull(); Condition.Requires(expectedVersion, "expectedVersion").IsGreaterOrEqual(0); Condition.Requires(events, "events").IsNotNull(); foreach (IEvent e in events) { byte[] data = Serializer.Serialize(e); AppendOnlyStore.Append(id.Literal, data, expectedVersion); ++expectedVersion; } }
public EventStream Load(IIdentity id) { Condition.Requires(id, "id").IsNotNull(); NamedDataSet data = AppendOnlyStore.Load(id.Literal); if (data == null) { return(null); } List <IEvent> events = new List <IEvent>(data.Data.Select(d => (IEvent)Serializer.Deserialize(d))); EventStream s = new EventStream(data.Version, events); return(s); }
public IEnumerable <EventStoreItem> ReadFrom(long id, int count) { IEnumerable <DataItem> data = AppendOnlyStore.ReadFrom(id, count); return(data.Select(d => new EventStoreItem(d.Id, d.Name, (IEvent)Serializer.Deserialize(d.Data)))); }
protected override void TearDown() { AppendOnlyStore.Dispose(); base.TearDown(); }