public IEnumerable<SagaDataSnapshot> GetAllSnapshots()
        {
            using (var connection = PostgreSqlTestHelper.ConnectionHelper.GetConnection().Result)
            {
                using (var command = connection.CreateCommand())
                {
                    command.CommandText = string.Format(@"SELECT ""data"", ""metadata"" FROM ""{0}""", TableName);

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var data = (byte[])reader["data"];
                            var metadataString = (string)reader["metadata"];

                            var objectSerializer = new ObjectSerializer();
                            var dictionarySerializer = new DictionarySerializer();

                            var sagaData = objectSerializer.Deserialize(data);
                            var metadata = dictionarySerializer.DeserializeFromString(metadataString);

                            yield return new SagaDataSnapshot
                            {
                                SagaData = (ISagaData) sagaData,
                                Metadata = metadata
                            };
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 protected override void DoSetUp()
 {
     serializer = new DictionarySerializer();
 }