public PersistedEvent(IDomainEvent domainEvent) { Id = ObjectId.GenerateNewId(); AggregateTopicName = domainEvent.AggregateTopicName; AggregateRootVersion = domainEvent.Version; Number = domainEvent.Number; Payload = domainEvent.Serialize(); }
public IDomainEvent Send(IDomainEvent e) { _channel.ExchangeDeclare(e.AggregateTopicName, "topic", true); _channel.BasicPublish( e.AggregateTopicName, Empty, null, Encoding.ASCII.GetBytes(e.Serialize())); return(e); }