MyBookmark/Modules.Rating.Api/Database/MongoDbContext.cs
2024-10-21 01:52:41 +03:00

36 lines
1.2 KiB
C#

using Modules.Rating.Api.Database.Entities;
using MongoDB.Driver;
namespace Modules.Rating.Api.Database;
public class MongoDbContext(IMongoDatabase database)
{
private bool _initialized;
public IMongoCollection<TDocument> GetCollection<TDocument>(string collectionName)
{
if (!_initialized) throw new Exception(string.Concat(nameof(MongoDbContext), " has not initialized yet"));
return database.GetCollection<TDocument>(collectionName);
}
public IMongoCollection<Rate> Rates => GetCollection<Rate>(nameof(Rate));
public void Initialize()
{
/*
BsonClassMap.RegisterClassMap<AnimeTitle>(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<int> GetNextPaymentProviderId() => _paymentProviderIdSequence.GetNextSequenceValue(context);
}