moved stuff around added methods to clear out all linked items

This commit is contained in:
ivancheahhh
2024-01-03 09:18:18 -07:00
parent 4a7b50ea75
commit f83d677e84
10 changed files with 40 additions and 6 deletions

View File

@@ -37,11 +37,6 @@ namespace CarCareTracker.Controllers
{
return View();
}
[HttpGet]
public IActionResult AddVehiclePartialView()
{
return PartialView("_VehicleModal", new Vehicle());
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()

View File

@@ -45,6 +45,11 @@ namespace CarCareTracker.Controllers
return View(data);
}
[HttpGet]
public IActionResult AddVehiclePartialView()
{
return PartialView("_VehicleModal", new Vehicle());
}
[HttpGet]
public IActionResult GetEditVehiclePartialViewById(int vehicleId)
{
var data = _dataAccess.GetVehicleById(vehicleId);
@@ -70,6 +75,10 @@ namespace CarCareTracker.Controllers
[HttpPost]
public IActionResult DeleteVehicle(int vehicleId)
{
//Delete all service records, gas records, notes, etc.
_gasRecordDataAccess.DeleteAllGasRecordsByVehicleId(vehicleId);
_serviceRecordDataAccess.DeleteAllServiceRecordsByVehicleId(vehicleId);
_noteDataAccess.DeleteNoteByVehicleId(vehicleId);
var result = _dataAccess.DeleteVehicle(vehicleId);
return Json(result);
}

View File

@@ -43,5 +43,14 @@ namespace CarCareTracker.External.Implementations
return true;
};
}
public bool DeleteAllGasRecordsByVehicleId(int vehicleId)
{
using (var db = new LiteDatabase(dbName))
{
var table = db.GetCollection<GasRecord>(tableName);
var gasRecords = table.DeleteMany(Query.EQ(nameof(GasRecord.VehicleId), vehicleId));
return true;
};
}
}
}

View File

@@ -26,5 +26,14 @@ namespace CarCareTracker.External.Implementations
return true;
};
}
public bool DeleteNoteByVehicleId(int vehicleId)
{
using (var db = new LiteDatabase(dbName))
{
var table = db.GetCollection<Note>(tableName);
table.DeleteMany(Query.EQ(nameof(Note.VehicleId), vehicleId));
return true;
};
}
}
}

View File

@@ -43,5 +43,14 @@ namespace CarCareTracker.External.Implementations
return true;
};
}
public bool DeleteAllServiceRecordsByVehicleId(int vehicleId)
{
using (var db = new LiteDatabase(dbName))
{
var table = db.GetCollection<ServiceRecord>(tableName);
var serviceRecords = table.DeleteMany(Query.EQ(nameof(ServiceRecord.VehicleId), vehicleId));
return true;
};
}
}
}

View File

@@ -8,5 +8,6 @@ namespace CarCareTracker.External.Interfaces
public GasRecord GetGasRecordById(int gasRecordId);
public bool DeleteGasRecordById(int gasRecordId);
public bool SaveGasRecordToVehicle(GasRecord gasRecord);
public bool DeleteAllGasRecordsByVehicleId(int vehicleId);
}
}

View File

@@ -6,5 +6,6 @@ namespace CarCareTracker.External.Interfaces
{
public Note GetNoteByVehicleId(int vehicleId);
public bool SaveNoteToVehicleId(Note note);
bool DeleteNoteByVehicleId(int vehicleId);
}
}

View File

@@ -8,5 +8,6 @@ namespace CarCareTracker.External.Interfaces
public ServiceRecord GetServiceRecordById(int serviceRecordId);
public bool DeleteServiceRecordById(int serviceRecordId);
public bool SaveServiceRecordToVehicle(ServiceRecord serviceRecord);
public bool DeleteAllServiceRecordsByVehicleId(int vehicleId);
}
}

View File

@@ -1,6 +1,6 @@
function showAddVehicleModal() {
uploadedFile = "";
$.get('/Home/AddVehiclePartialView', function (data) {
$.get('/Vehicle/AddVehiclePartialView', function (data) {
if (data) {
$("#addVehicleModalContent").html(data);
}