public void Store(UncommittedEventStream eventStream)
        {
            var tapeStream = new AzureTapeStream.AzureTapeStream(eventStream.SourceId.ToString(), Config.Config.Get("Eventing.AzureConnectionString"), Config.Config.Get("Eventing.AzureContainerName"));

            foreach (var record in eventStream.Select(evt => Streamer.SerializeEvent(evt.Payload as ISourcedEvent)))
            {
                tapeStream.Append(record);
            }
        }
        public IEnumerable<ISourcedEvent> GetAllEvents(Guid id)
        {
            var tapeStream = new AzureTapeStream.AzureTapeStream(id.ToString(), Settings.Default.AzureConnectionString,
                                                                 Settings.Default.AzureContainerName);
            var records = tapeStream.ReadRecords();

            List<ISourcedEvent> events = records.Select(rec => Streamer.DeserializeEvent(rec.Data)).ToList();

            // todo: Add caching

            return events.OrderBy(n => n.EventTimeStamp);
        }
        public void Store(UncommittedEventStream eventStream)
        {
            var tapeStream = new AzureTapeStream.AzureTapeStream(eventStream.SourceId.ToString(), Settings.Default.AzureConnectionString, Settings.Default.AzureContainerName);

            foreach (var record in eventStream.Select(evt => Streamer.SerializeEvent(evt.Payload as ISourcedEvent)))
            {
                tapeStream.Append(record);
            }
        }