public MongoStores(IMongoDatabase database, IProjectionRebuilder projectionRebuilder = null, MongoEventStreamReader eventStreamReader = null, MongoEventStoreSetttings setttings = null) { if (database == null) { throw new ArgumentNullException(nameof(database)); } _projectionRebuilder = projectionRebuilder; _eventStreamReader = eventStreamReader; if (setttings == null) { setttings = new MongoEventStoreSetttings(); } setttings.Validate(); Settings = setttings; Client = database.Client; DatabaseName = database.DatabaseNamespace.DatabaseName; _eventStore = new MongoEventStore(database, setttings) { JsonSettings = JsonSettings }; _snapshotStore = new MongoSnapshotStore(_eventStore, database, setttings); }
public MongoStores(MongoClient client, string database, MongoEventStoreSetttings setttings = null) { Client = client ?? throw new ArgumentNullException(nameof(client)); DatabaseName = database ?? throw new ArgumentNullException(nameof(database)); if (setttings == null) { throw new ArgumentNullException(nameof(setttings)); } setttings.Validate(); Settings = setttings; var db = Client.GetDatabase(database); _eventStore = new MongoEventStore(db, setttings) { JsonSettings = JsonSettings }; _snapshotStore = new MongoSnapshotStore(_eventStore, db, setttings); }