diff --git a/External/Implementations/ReminderRecordDataAccess.cs b/External/Implementations/ReminderRecordDataAccess.cs new file mode 100644 index 0000000..08680e6 --- /dev/null +++ b/External/Implementations/ReminderRecordDataAccess.cs @@ -0,0 +1,56 @@ +using CarCareTracker.External.Interfaces; +using CarCareTracker.Models; +using LiteDB; + +namespace CarCareTracker.External.Implementations +{ + public class ReminderRecordDataAccess : IReminderRecordDataAccess + { + private static string dbName = "data/cartracker.db"; + private static string tableName = "reminderrecords"; + public List GetReminderRecordsByVehicleId(int vehicleId) + { + using (var db = new LiteDatabase(dbName)) + { + var table = db.GetCollection(tableName); + var reminderRecords = table.Find(Query.EQ(nameof(ReminderRecord.VehicleId), vehicleId)); + return reminderRecords.ToList() ?? new List(); + }; + } + public ReminderRecord GetReminderRecordById(int reminderRecordId) + { + using (var db = new LiteDatabase(dbName)) + { + var table = db.GetCollection(tableName); + return table.FindById(reminderRecordId); + }; + } + public bool DeleteReminderRecordById(int reminderRecordId) + { + using (var db = new LiteDatabase(dbName)) + { + var table = db.GetCollection(tableName); + table.Delete(reminderRecordId); + return true; + }; + } + public bool SaveReminderRecordToVehicle(ReminderRecord reminderRecord) + { + using (var db = new LiteDatabase(dbName)) + { + var table = db.GetCollection(tableName); + table.Upsert(reminderRecord); + return true; + }; + } + public bool DeleteAllReminderRecordsByVehicleId(int vehicleId) + { + using (var db = new LiteDatabase(dbName)) + { + var table = db.GetCollection(tableName); + var reminderRecords = table.DeleteMany(Query.EQ(nameof(ReminderRecord.VehicleId), vehicleId)); + return true; + }; + } + } +} diff --git a/Views/Vehicle/Index.cshtml b/Views/Vehicle/Index.cshtml index 6fdd067..a526aef 100644 --- a/Views/Vehicle/Index.cshtml +++ b/Views/Vehicle/Index.cshtml @@ -35,6 +35,9 @@ + @@ -65,6 +68,7 @@
+