コード例 #1
0
 public string EventName(IDomainEventData eventData)
 {
     return(_eventTypeLocator.GetTypeString(eventData.GetType()));
 }
コード例 #2
0
        public string SerializeToData(IDomainEventData eventData)
        {
            var eventType = eventData.GetType();

            return(JsonSerializer.Serialize(eventData, eventType));
        }
コード例 #3
0
        public IDomainEvent <IDomainEventData> CreateEvent(ulong version, Instant created, IDomainEventData eventData)
        {
            var eventType = eventData.GetType();
            var id        = Guid.NewGuid();
            var eventName = EventName(eventData);
            var domainEventContainerType = typeof(DomainEvent <>).MakeGenericType(eventType);

            return((IDomainEvent <IDomainEventData>)Activator.CreateInstance(domainEventContainerType, args: new object[] { id, version, eventData, eventName, created }));
        }