Exemplo n.º 1
0
        public void Write(Cirqus.Events.EventData domainEvent)
        {
            var aggregateRootId = domainEvent.GetAggregateRootId();
            var sequenceNumber = domainEvent.GetSequenceNumber();

            var aggregateDirectory = Path.Combine(_dataDirectory, aggregateRootId);
            Directory.CreateDirectory(aggregateDirectory);

            var filename = Path.Combine(aggregateDirectory, GetFilename(sequenceNumber));

            using (var fileStream = new FileStream(filename, FileMode.CreateNew, FileAccess.Write, FileShare.None, 1024, FileOptions.None))
            using (var bsonWriter = new BsonWriter(fileStream))
            {
                _serializer.Serialize(bsonWriter, EventData.Create(domainEvent));
            }
        }
Exemplo n.º 2
0
 public static EventData Create(Cirqus.Events.EventData domainEvent)
 {
     return new EventData(domainEvent.Meta, domainEvent.Data);
 }