public IDomainEvent <TAggregate, TIdentity> Deserialize <TAggregate, TIdentity>( TIdentity id, ICommittedDomainEvent committedDomainEvent) where TAggregate : IAggregateRoot <TIdentity> where TIdentity : IIdentity { return((IDomainEvent <TAggregate, TIdentity>)Deserialize(committedDomainEvent)); }
public IDomainEvent Deserialize(ICommittedDomainEvent committedDomainEvent) { var metadata = (IMetadata)_jsonSerializer.Deserialize <Metadata>(committedDomainEvent.Metadata); var eventDefinition = _eventDefinitionService.GetEventDefinition( metadata.EventName, metadata.EventVersion); var aggregateEvent = (IAggregateEvent)_jsonSerializer.Deserialize(committedDomainEvent.Data, eventDefinition.Type); var domainEvent = _domainEventFactory.Create( aggregateEvent, metadata, committedDomainEvent.AggregateId, committedDomainEvent.AggregateSequenceNumber); return(domainEvent); }
public IDomainEvent Deserialize(ICommittedDomainEvent committedDomainEvent) { var metadata = (IMetadata)_jsonSerializer.Deserialize <Metadata>(committedDomainEvent.Metadata); var eventDefinition = _eventDefinitionService.GetEventDefinition( metadata.EventName, metadata.EventVersion); var aggregateEvent = (IAggregateEvent)_jsonSerializer.Deserialize(committedDomainEvent.Data, eventDefinition.Type); var domainEventType = typeof(DomainEvent <>).MakeGenericType(eventDefinition.Type); var domainEvent = (IDomainEvent)Activator.CreateInstance( domainEventType, aggregateEvent, metadata, metadata.Timestamp, committedDomainEvent.GlobalSequenceNumber, committedDomainEvent.AggregateId, committedDomainEvent.AggregateSequenceNumber, committedDomainEvent.BatchId); return(domainEvent); }
public IDomainEvent Deserialize(ICommittedDomainEvent committedDomainEvent) { var metadata = (IMetadata)_jsonSerializer.Deserialize <Metadata>(committedDomainEvent.Metadata); return(Deserialize(committedDomainEvent.AggregateId, committedDomainEvent.Data, metadata)); }