private EventStream(TEntityId aggregateId, AggregationName aggregationName, VersionId version, IImmutableList <IDomainEvent> events) : base(aggregateId, version) { AggregationId = aggregateId; Name = aggregationName; Events = events; }
protected BaseEntity(TIdentity identity, VersionId version) { Identity = identity; Version = version; }
public static EventStream <TEntityId> AppendStream(EventStream <TEntityId> stream, IImmutableList <IDomainEvent> appendEvents) { var newStream = stream.Events.AddRange(appendEvents); return(From(stream.AggregationId, stream.Name, VersionId.Next(stream.Version), newStream)); }
public static EventStream <TEntityId> From(TEntityId aggregateId, AggregationName name, VersionId version, IImmutableList <IDomainEvent> events) { var eventStream = new EventStream <TEntityId>(aggregateId, name, version, events); return(eventStream); }