diff --git a/External/Implementations/Litedb/CollisionRecordDataAccess.cs b/External/Implementations/Litedb/CollisionRecordDataAccess.cs index 0febdf6..37cbc92 100644 --- a/External/Implementations/Litedb/CollisionRecordDataAccess.cs +++ b/External/Implementations/Litedb/CollisionRecordDataAccess.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,9 +7,9 @@ namespace CarCareTracker.External.Implementations { public class CollisionRecordDataAccess : ICollisionRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "collisionrecords"; - public CollisionRecordDataAccess(ILiteDBInjection liteDB) + public CollisionRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/ExtraFieldDataAccess.cs b/External/Implementations/Litedb/ExtraFieldDataAccess.cs index ad29895..42a892d 100644 --- a/External/Implementations/Litedb/ExtraFieldDataAccess.cs +++ b/External/Implementations/Litedb/ExtraFieldDataAccess.cs @@ -1,14 +1,14 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; -using LiteDB; namespace CarCareTracker.External.Implementations { public class ExtraFieldDataAccess : IExtraFieldDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "extrafields"; - public ExtraFieldDataAccess(ILiteDBInjection liteDB) + public ExtraFieldDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/GasRecordDataAccess.cs b/External/Implementations/Litedb/GasRecordDataAccess.cs index a7e3a08..46c6348 100644 --- a/External/Implementations/Litedb/GasRecordDataAccess.cs +++ b/External/Implementations/Litedb/GasRecordDataAccess.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,9 +7,9 @@ namespace CarCareTracker.External.Implementations { public class GasRecordDataAccess : IGasRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "gasrecords"; - public GasRecordDataAccess(ILiteDBInjection liteDB) + public GasRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/LiteDBInjection.cs b/External/Implementations/Litedb/LiteDBInjection.cs deleted file mode 100644 index e344ba7..0000000 --- a/External/Implementations/Litedb/LiteDBInjection.cs +++ /dev/null @@ -1,38 +0,0 @@ -using CarCareTracker.Helper; -using LiteDB; - -namespace CarCareTracker.External.Implementations -{ - public interface ILiteDBInjection - { - LiteDatabase GetLiteDB(); - void DisposeLiteDB(); - } - public class LiteDBInjection: ILiteDBInjection - { - public LiteDatabase db { get; set; } - public LiteDBInjection() - { - if (db == null) - { - db = new LiteDatabase(StaticHelper.DbName); - } - } - public LiteDatabase GetLiteDB() - { - if (db == null) - { - db = new LiteDatabase(StaticHelper.DbName); - } - return db; - } - public void DisposeLiteDB() - { - if (db != null) - { - db.Dispose(); - db = null; - } - } - } -} diff --git a/External/Implementations/Litedb/NoteDataAccess.cs b/External/Implementations/Litedb/NoteDataAccess.cs index aaee209..f5b4562 100644 --- a/External/Implementations/Litedb/NoteDataAccess.cs +++ b/External/Implementations/Litedb/NoteDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class NoteDataAccess : INoteDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "notes"; - public NoteDataAccess(ILiteDBInjection liteDB) + public NoteDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/OdometerRecordDataAccess.cs b/External/Implementations/Litedb/OdometerRecordDataAccess.cs index 52c1861..1e40a57 100644 --- a/External/Implementations/Litedb/OdometerRecordDataAccess.cs +++ b/External/Implementations/Litedb/OdometerRecordDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class OdometerRecordDataAccess : IOdometerRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "odometerrecords"; - public OdometerRecordDataAccess(ILiteDBInjection liteDB) + public OdometerRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/PlanRecordDataAccess.cs b/External/Implementations/Litedb/PlanRecordDataAccess.cs index aff8d75..c7a9af2 100644 --- a/External/Implementations/Litedb/PlanRecordDataAccess.cs +++ b/External/Implementations/Litedb/PlanRecordDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class PlanRecordDataAccess : IPlanRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "planrecords"; - public PlanRecordDataAccess(ILiteDBInjection liteDB) + public PlanRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/PlanRecordTemplateDataAccess.cs b/External/Implementations/Litedb/PlanRecordTemplateDataAccess.cs index 98cb944..c4f0a03 100644 --- a/External/Implementations/Litedb/PlanRecordTemplateDataAccess.cs +++ b/External/Implementations/Litedb/PlanRecordTemplateDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class PlanRecordTemplateDataAccess : IPlanRecordTemplateDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "planrecordtemplates"; - public PlanRecordTemplateDataAccess(ILiteDBInjection liteDB) + public PlanRecordTemplateDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/ReminderRecordDataAccess.cs b/External/Implementations/Litedb/ReminderRecordDataAccess.cs index 047455f..2c1995e 100644 --- a/External/Implementations/Litedb/ReminderRecordDataAccess.cs +++ b/External/Implementations/Litedb/ReminderRecordDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class ReminderRecordDataAccess : IReminderRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "reminderrecords"; - public ReminderRecordDataAccess(ILiteDBInjection liteDB) + public ReminderRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/ServiceRecordDataAccess.cs b/External/Implementations/Litedb/ServiceRecordDataAccess.cs index bc7b718..ca6690c 100644 --- a/External/Implementations/Litedb/ServiceRecordDataAccess.cs +++ b/External/Implementations/Litedb/ServiceRecordDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class ServiceRecordDataAccess : IServiceRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "servicerecords"; - public ServiceRecordDataAccess(ILiteDBInjection liteDB) + public ServiceRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/SupplyRecordDataAccess.cs b/External/Implementations/Litedb/SupplyRecordDataAccess.cs index 5d3708d..7246c4b 100644 --- a/External/Implementations/Litedb/SupplyRecordDataAccess.cs +++ b/External/Implementations/Litedb/SupplyRecordDataAccess.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,9 +7,9 @@ namespace CarCareTracker.External.Implementations { public class SupplyRecordDataAccess : ISupplyRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "supplyrecords"; - public SupplyRecordDataAccess(ILiteDBInjection liteDB) + public SupplyRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/TaxRecordDataAccess.cs b/External/Implementations/Litedb/TaxRecordDataAccess.cs index 72afdac..4081a62 100644 --- a/External/Implementations/Litedb/TaxRecordDataAccess.cs +++ b/External/Implementations/Litedb/TaxRecordDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; +using CarCareTracker.Helper; using LiteDB; namespace CarCareTracker.External.Implementations { public class TaxRecordDataAccess : ITaxRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "taxrecords"; - public TaxRecordDataAccess(ILiteDBInjection liteDB) + public TaxRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/TokenRecordDataAccess.cs b/External/Implementations/Litedb/TokenRecordDataAccess.cs index d1386c8..91e305d 100644 --- a/External/Implementations/Litedb/TokenRecordDataAccess.cs +++ b/External/Implementations/Litedb/TokenRecordDataAccess.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,9 +7,9 @@ namespace CarCareTracker.External.Implementations { public class TokenRecordDataAccess : ITokenRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "tokenrecords"; - public TokenRecordDataAccess(ILiteDBInjection liteDB) + public TokenRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/UpgradeRecordDataAccess.cs b/External/Implementations/Litedb/UpgradeRecordDataAccess.cs index e5098d6..1d06352 100644 --- a/External/Implementations/Litedb/UpgradeRecordDataAccess.cs +++ b/External/Implementations/Litedb/UpgradeRecordDataAccess.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,8 +7,8 @@ namespace CarCareTracker.External.Implementations { public class UpgradeRecordDataAccess : IUpgradeRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } - public UpgradeRecordDataAccess(ILiteDBInjection liteDB) + private ILiteDBHelper _liteDB { get; set; } + public UpgradeRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/UserAccessDataAcces.cs b/External/Implementations/Litedb/UserAccessDataAcces.cs index 19305bb..1120a4b 100644 --- a/External/Implementations/Litedb/UserAccessDataAcces.cs +++ b/External/Implementations/Litedb/UserAccessDataAcces.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,9 +7,9 @@ namespace CarCareTracker.External.Implementations { public class UserAccessDataAccess : IUserAccessDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "useraccessrecords"; - public UserAccessDataAccess(ILiteDBInjection liteDB) + public UserAccessDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/UserConfigDataAccess.cs b/External/Implementations/Litedb/UserConfigDataAccess.cs index e597eb4..093f9b1 100644 --- a/External/Implementations/Litedb/UserConfigDataAccess.cs +++ b/External/Implementations/Litedb/UserConfigDataAccess.cs @@ -1,14 +1,14 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; -using LiteDB; +using CarCareTracker.Helper; namespace CarCareTracker.External.Implementations { public class UserConfigDataAccess : IUserConfigDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "userconfigrecords"; - public UserConfigDataAccess(ILiteDBInjection liteDB) + public UserConfigDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/UserRecordDataAccess.cs b/External/Implementations/Litedb/UserRecordDataAccess.cs index df57078..6637ebf 100644 --- a/External/Implementations/Litedb/UserRecordDataAccess.cs +++ b/External/Implementations/Litedb/UserRecordDataAccess.cs @@ -1,14 +1,15 @@ using CarCareTracker.External.Interfaces; using CarCareTracker.Models; using LiteDB; +using CarCareTracker.Helper; namespace CarCareTracker.External.Implementations { public class UserRecordDataAccess : IUserRecordDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "userrecords"; - public UserRecordDataAccess(ILiteDBInjection liteDB) + public UserRecordDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/External/Implementations/Litedb/VehicleDataAccess.cs b/External/Implementations/Litedb/VehicleDataAccess.cs index 0114adc..d0ee18d 100644 --- a/External/Implementations/Litedb/VehicleDataAccess.cs +++ b/External/Implementations/Litedb/VehicleDataAccess.cs @@ -1,4 +1,5 @@ using CarCareTracker.External.Interfaces; +using CarCareTracker.Helper; using CarCareTracker.Models; using LiteDB; @@ -6,9 +7,9 @@ namespace CarCareTracker.External.Implementations { public class VehicleDataAccess : IVehicleDataAccess { - private ILiteDBInjection _liteDB { get; set; } + private ILiteDBHelper _liteDB { get; set; } private static string tableName = "vehicles"; - public VehicleDataAccess(ILiteDBInjection liteDB) + public VehicleDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } diff --git a/Helper/FileHelper.cs b/Helper/FileHelper.cs index 1969a9c..abebdbf 100644 --- a/Helper/FileHelper.cs +++ b/Helper/FileHelper.cs @@ -1,5 +1,4 @@ -using CarCareTracker.External.Implementations; -using CarCareTracker.Models; +using CarCareTracker.Models; using System.IO.Compression; namespace CarCareTracker.Helper @@ -19,8 +18,8 @@ namespace CarCareTracker.Helper { private readonly IWebHostEnvironment _webEnv; private readonly ILogger _logger; - private ILiteDBInjection _liteDB; - public FileHelper(IWebHostEnvironment webEnv, ILogger logger, ILiteDBInjection liteDB) + private ILiteDBHelper _liteDB; + public FileHelper(IWebHostEnvironment webEnv, ILogger logger, ILiteDBHelper liteDB) { _webEnv = webEnv; _logger = logger; diff --git a/Helper/LiteDBHelper.cs b/Helper/LiteDBHelper.cs new file mode 100644 index 0000000..19fde5a --- /dev/null +++ b/Helper/LiteDBHelper.cs @@ -0,0 +1,36 @@ +using LiteDB; + +namespace CarCareTracker.Helper; + +public interface ILiteDBHelper +{ + LiteDatabase GetLiteDB(); + void DisposeLiteDB(); +} +public class LiteDBHelper: ILiteDBHelper +{ + public LiteDatabase db { get; set; } + public LiteDBHelper() + { + if (db == null) + { + db = new LiteDatabase(StaticHelper.DbName); + } + } + public LiteDatabase GetLiteDB() + { + if (db == null) + { + db = new LiteDatabase(StaticHelper.DbName); + } + return db; + } + public void DisposeLiteDB() + { + if (db != null) + { + db.Dispose(); + db = null; + } + } +} diff --git a/Program.cs b/Program.cs index 818ef7e..afbb9bb 100644 --- a/Program.cs +++ b/Program.cs @@ -17,7 +17,7 @@ StaticHelper.InitMessage(builder.Configuration); builder.Services.AddControllersWithViews(); //LiteDB is always injected even if user uses Postgres. -builder.Services.AddSingleton(); +builder.Services.AddSingleton(); //data access method if (!string.IsNullOrWhiteSpace(builder.Configuration["POSTGRES_CONNECTION"])){