Files
SkydiveLogs/Back/skydiveLogs-api.Data/LiteDbProvider.cs
Sébastien André eee6f596ac Update about the relation column "User" for the images
and begin to add a column in "Aircraft"
2020-07-30 18:29:41 +02:00

49 lines
1.6 KiB
C#

using LiteDB;
using skydiveLogs_api.Data.Interface;
using skydiveLogs_api.Model;
namespace skydiveLogs_api.Data
{
public class LiteDbProvider : IDataProvider
{
public LiteDbProvider(string connectionString)
{
_db = new LiteDatabase(connectionString);
BsonMapper.Global.Entity<Jump>().DbRef(x => x.JumpType, "JumpType");
BsonMapper.Global.Entity<Jump>().DbRef(x => x.Aircraft, "Aircraft");
BsonMapper.Global.Entity<Jump>().DbRef(x => x.DropZone, "DropZone");
BsonMapper.Global.Entity<Jump>().DbRef(x => x.Gear, "Gear");
BsonMapper.Global.Entity<Jump>().DbRef(x => x.User, "User");
BsonMapper.Global.Entity<Image>().DbRef(x => x.User, "User");
}
public ILiteCollection<T> GetCollection<T>()
{
return _db.GetCollection<T>();
}
public void Close()
{
_db.Dispose();
}
private readonly LiteDatabase _db;
public ILiteCollection<Aircraft> CollOfAircraft => _db.GetCollection<Aircraft>();
public ILiteCollection<DropZone> CollOfDropZone => _db.GetCollection<DropZone>();
public ILiteCollection<Gear> CollOfGear => _db.GetCollection<Gear>();
public ILiteCollection<JumpType> CollOfJumpType => _db.GetCollection<JumpType>();
public ILiteCollection<Jump> CollOfJump => _db.GetCollection<Jump>();
public ILiteCollection<User> CollOfUser => _db.GetCollection<User>();
public ILiteCollection<Image> CollOfImage => _db.GetCollection<Image>();
}
}