Example #1
0
 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));
 }
Example #2
0
 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));
 }