public IEnumerable <ISourcedEvent> GetAllEventsSinceVersion(Guid id, long version) { var res = new List <SourcedEvent>(); _context.WithConnection(connection => { using (var cmd = new SQLiteCommand(Query.SelectAllEventsQuery, connection)) { cmd.AddParam("EventSourceId", id).AddParam("EventSourceVersion", version); using (var reader = cmd.ExecuteReader()) { var formatter = new BinaryFormatter(); while (reader.Read()) { var rawData = (Byte[])reader["Data"]; using (var dataStream = new MemoryStream(rawData)) { var bag = (PropertyBag)formatter.Deserialize(dataStream); var evnt = (SourcedEvent)_converter.Convert(bag); res.Add(evnt); } } } } }); return(res); }
public CommittedEventStream ReadFrom(Guid id, long minVersion, long maxVersion) { var results = new List <CommittedEvent>(); _context.WithConnection(connection => { using (var cmd = new SQLiteCommand(Query.SelectAllEventsFromQuery, connection)) { cmd.AddParam("EventSourceId", id) .AddParam("EventSourceMinVersion", minVersion) .AddParam("EventSourceMaxVersion", maxVersion); results.AddRange(ReadEvents(cmd, id)); } }); return(new CommittedEventStream(id, results)); }