using MotoVaultPro.External.Interfaces; using MotoVaultPro.Helper; using MotoVaultPro.Models; namespace MotoVaultPro.External.Implementations { public class VehicleDataAccess : IVehicleDataAccess { private ILiteDBHelper _liteDB { get; set; } private static string tableName = "vehicles"; public VehicleDataAccess(ILiteDBHelper liteDB) { _liteDB = liteDB; } public bool SaveVehicle(Vehicle vehicle) { var db = _liteDB.GetLiteDB(); var table = db.GetCollection(tableName); var result = table.Upsert(vehicle); db.Checkpoint(); return true; } public bool DeleteVehicle(int vehicleId) { var db = _liteDB.GetLiteDB(); var table = db.GetCollection(tableName); var result = table.Delete(vehicleId); db.Checkpoint(); return result; } public List GetVehicles() { var db = _liteDB.GetLiteDB(); var table = db.GetCollection(tableName); return table.FindAll().ToList(); } public Vehicle GetVehicleById(int vehicleId) { var db = _liteDB.GetLiteDB(); var table = db.GetCollection(tableName); return table.FindById(vehicleId); } } }