diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index 4b14d40..c601518 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -88,5 +88,11 @@ namespace CarCareTracker.Controllers }; return Json(convertedResult); } + [HttpPost] + public IActionResult DeleteServiceRecordById(int serviceRecordId) + { + var result = _serviceRecordDataAccess.DeleteServiceRecordById(serviceRecordId); + return Json(result); + } } } diff --git a/External/Implementations/ServiceRecordDataAccess.cs b/External/Implementations/ServiceRecordDataAccess.cs index 066441b..bfb0e82 100644 --- a/External/Implementations/ServiceRecordDataAccess.cs +++ b/External/Implementations/ServiceRecordDataAccess.cs @@ -25,6 +25,15 @@ namespace CarCareTracker.External.Implementations return table.FindById(serviceRecordId); }; } + public bool DeleteServiceRecordById(int serviceRecordId) + { + using (var db = new LiteDatabase(dbName)) + { + var table = db.GetCollection(tableName); + table.Delete(serviceRecordId); + return true; + }; + } public bool SaveServiceRecordToVehicle(ServiceRecord serviceRecord) { using (var db = new LiteDatabase(dbName)) diff --git a/External/Interfaces/IServiceRecordDataAccess.cs b/External/Interfaces/IServiceRecordDataAccess.cs index f82d5bb..4a265c2 100644 --- a/External/Interfaces/IServiceRecordDataAccess.cs +++ b/External/Interfaces/IServiceRecordDataAccess.cs @@ -6,6 +6,7 @@ namespace CarCareTracker.External.Interfaces { public List GetServiceRecordsByVehicleId(int vehicleId); public ServiceRecord GetServiceRecordById(int serviceRecordId); + public bool DeleteServiceRecordById(int serviceRecordId); public bool SaveServiceRecordToVehicle(ServiceRecord serviceRecord); } } diff --git a/Views/Vehicle/_ServiceRecords.cshtml b/Views/Vehicle/_ServiceRecords.cshtml index bec4181..4f5660a 100644 --- a/Views/Vehicle/_ServiceRecords.cshtml +++ b/Views/Vehicle/_ServiceRecords.cshtml @@ -24,7 +24,7 @@
- +
diff --git a/wwwroot/js/vehicle.js b/wwwroot/js/vehicle.js index 92f0b48..781d71b 100644 --- a/wwwroot/js/vehicle.js +++ b/wwwroot/js/vehicle.js @@ -91,11 +91,23 @@ function editServiceRecordToVehicle() { successToast("Service Record updated."); hideAddServiceRecordModal(); getVehicleServiceRecords(formValues.vehicleId); + serviceRecordEditId = 0; //reset global var. } else { errorToast("An error has occurred, please try again later."); } }) } +function deleteServiceRecord(serviceRecordId) { + $.post(`/Vehicle/DeleteServiceRecordById?serviceRecordId=${serviceRecordId}`, function (data) { + if (data) { + successToast("Service Record deleted"); + var vehicleId = GetVehicleId().vehicleId; + getVehicleServiceRecords(vehicleId); + } else { + errorToast("An error has occurred, please try again later."); + } + }); +} function addServiceRecordToVehicle() { //get values var formValues = getAndValidateServiceRecordValues();