using Modules.Rating.Api.Database.Entities; using MongoDB.Driver; namespace Modules.Rating.Api.Database; public class MongoDbContext(IMongoDatabase database) { private bool _initialized; public IMongoCollection GetCollection(string collectionName) { if (!_initialized) throw new Exception(string.Concat(nameof(MongoDbContext), " has not initialized yet")); return database.GetCollection(collectionName); } public IMongoCollection Rates => GetCollection(nameof(Rate)); public void Initialize() { /* BsonClassMap.RegisterClassMap(q => { q.AutoMap(); q.MapIdMember(c => c.Id).SetIdGenerator(CombGuidGenerator.Instance); //q.MapCreator(q => AnimeTitleBuilder.FromAnimeTitle(q).Build()); //q.MapIdMember(c => c.Id).SetIdGenerator(StringObjectIdGenerator.Instance); }); */ _initialized = true; } //private IntSequence _paymentProviderIdSequence = new("PaymentProviderId"); //public Task GetNextPaymentProviderId() => _paymentProviderIdSequence.GetNextSequenceValue(context); }