public EventSourcedRepository( IAggregateStreamIdResolver streamIdResolver, IAggregateFactory <TAggregate, TId> aggregateFactory, IEventStore eventStore, IEventSerializer serializer, IMetadataContext metadataContext = null) { _streamIdResolver = streamIdResolver ?? throw new ArgumentNullException(nameof(streamIdResolver)); _aggregateFactory = aggregateFactory ?? throw new ArgumentNullException(nameof(aggregateFactory)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _metadataContext = metadataContext ?? NullMetadataContext.Instance; _store = eventStore ?? throw new ArgumentNullException(nameof(eventStore)); }
public SnapshotableRepository( IAggregateStreamIdResolver streamIdResolver, ITriggerThresholdResolver thresholdResolver, SnapshotableAggregateFactory <TAggregate, TId> aggregateFactory, IEventStore eventStore, IEventSerializer serializer, ISnapshotStore snapshotStore, IMetadataContext metadataContext = null) { _streamIdResolver = streamIdResolver ?? throw new ArgumentNullException(nameof(streamIdResolver)); _thresholdResolver = thresholdResolver ?? throw new ArgumentNullException(nameof(thresholdResolver)); _aggregateFactory = aggregateFactory ?? throw new ArgumentNullException(nameof(aggregateFactory)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _metadataContext = metadataContext ?? NullMetadataContext.Instance; _eventStore = eventStore ?? throw new ArgumentNullException(nameof(eventStore)); _snapshotStore = snapshotStore ?? throw new ArgumentException(nameof(snapshotStore)); }