36 lines
1.2 KiB
C#
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);
|
|
}
|