public IEnumerable<SourcedEvent> GetAllEventsSinceVersion(Guid id, long version) { var res = new List<SourcedEvent>(); using (var conn = new SQLiteConnection(_connectionString)) using (var cmd = new SQLiteCommand(Query.SelectAllEventsQuery, conn)) { cmd.AddParam("EventSourceId", id).AddParam("EventSourceVersion", version); conn.Open(); 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); }