public MongoEventStore(IMongoClient client, IMongoEventStoreSettings settings) { Settings = settings ?? throw new ArgumentNullException(nameof(settings)); Client = client ?? throw new ArgumentNullException(nameof(client)); Settings.Validate(); }
public static void Validate(this IMongoEventStoreSettings settings) { if (string.IsNullOrWhiteSpace(settings.Database)) { throw new ArgumentNullException(nameof(settings.Database)); } if (string.IsNullOrWhiteSpace(settings.EventsCollectionName)) { throw new ArgumentNullException(nameof(settings.EventsCollectionName)); } if (string.IsNullOrWhiteSpace(settings.ProjectionsCollectionName)) { throw new ArgumentNullException(nameof(settings.ProjectionsCollectionName)); } }
public MongoEventStore(IMongoEventStoreSettings settings) { _connectionString = settings.MongoDbEventStoreConnectionString; _database = settings.MongoDbEventStoreDatabase; BsonClassMap.RegisterClassMap <DomainEvent>(); var assemblies = AppDomain.CurrentDomain.GetAssemblies(); var domainEventSubclasses = new List <Type>(); foreach (var a in assemblies) { var types = a.GetTypes().Where(t => typeof(DomainEvent).IsAssignableFrom(t)); domainEventSubclasses.AddRange(types); } foreach (var subclass in domainEventSubclasses) { BsonClassMap.LookupClassMap(subclass); } }
public MongoSnapshotStore(IMongoEventStoreSettings settings) { _connectionString = settings.MongoDbEventStoreConnectionString; _database = settings.MongoDbEventStoreDatabase; }
public MongoProjectionRepository(IMongoClient mongoClient, IMongoEventStoreSettings mongoEventStoreSettings) { _mongoDatabase = mongoClient.GetDatabase(mongoEventStoreSettings.Database); }