Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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);
 }