Updated to use OperationResponse instead of generic json.

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD 2025-11-13 09:13:21 -07:00
parent 6065c14f3b
commit 1a805ada8e
26 changed files with 172 additions and 151 deletions

View File

@ -38,7 +38,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), gasRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
gasRecord.Files = gasRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
var convertedRecord = gasRecord.ToGasRecord();
@ -58,7 +58,7 @@ namespace CarCareTracker.Controllers
Files = StaticHelper.CreateAttachmentFromRecord(ImportMode.GasRecord, convertedRecord.Id, $"Gas Record - {gasRecord.Mileage.ToString()}")
});
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[TypeFilter(typeof(CollaboratorFilter))]
[HttpGet]
@ -104,20 +104,20 @@ namespace CarCareTracker.Controllers
};
return PartialView("Gas/_GasModal", viewModel);
}
private bool DeleteGasRecordWithChecks(int gasRecordId)
private OperationResponse DeleteGasRecordWithChecks(int gasRecordId)
{
var existingRecord = _gasRecordDataAccess.GetGasRecordById(gasRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _gasRecordDataAccess.DeleteGasRecordById(existingRecord.Id);
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromGasRecord(existingRecord, "gasrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteGasRecordById(int gasRecordId)

View File

@ -89,31 +89,31 @@ namespace CarCareTracker.Controllers
var result = _inspectionRecordTemplateDataAccess.SaveInspectionReportTemplateToVehicle(inspectionRecordTemplate);
return Json(result);
}
private bool DeleteInspectionRecordTemplateWithChecks(int inspectionRecordTemplateId)
private OperationResponse DeleteInspectionRecordTemplateWithChecks(int inspectionRecordTemplateId)
{
var existingRecord = _inspectionRecordTemplateDataAccess.GetInspectionRecordTemplateById(inspectionRecordTemplateId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _inspectionRecordTemplateDataAccess.DeleteInspectionRecordTemplateById(existingRecord.Id);
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
private bool DeleteInspectionRecordWithChecks(int inspectionRecordId)
private OperationResponse DeleteInspectionRecordWithChecks(int inspectionRecordId)
{
var existingRecord = _inspectionRecordDataAccess.GetInspectionRecordById(inspectionRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _inspectionRecordDataAccess.DeleteInspectionRecordById(existingRecord.Id);
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromInspectionRecord(existingRecord, "inspectionrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteInspectionRecordTemplateById(int inspectionRecordTemplateId)
@ -134,7 +134,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Edit))
{
return Redirect("/Error/Unauthorized");
return Json(OperationResponse.Failed("Access Denied"));
}
//populate date
existingRecord.Date = DateTime.Now.ToShortDateString();
@ -166,7 +166,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), result.VehicleId, HouseholdPermission.View))
{
return Redirect("/Error/Unauthorized");
return Json(OperationResponse.Failed("Access Denied"));
}
return PartialView("Inspection/_InspectionRecordViewModal", result);
}
@ -176,7 +176,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), inspectionRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//move files from temp.
inspectionRecord.Files = inspectionRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -246,7 +246,7 @@ namespace CarCareTracker.Controllers
}
}
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpPost]
public IActionResult UpdateInspectionRecord(InspectionRecordInput inspectionRecord)
@ -255,7 +255,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
existingRecord.Tags = inspectionRecord.Tags;
existingRecord.Files = inspectionRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -264,7 +264,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromInspectionRecord(existingRecord, "inspectionrecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
}
}

View File

@ -29,7 +29,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), note.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
note.Files = note.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
bool isCreate = note.Id == default; //needed here since Notes don't use an input object.
@ -38,7 +38,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromNoteRecord(note, isCreate ? "noterecord.add" : "noterecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddNotePartialView()
@ -58,20 +58,20 @@ namespace CarCareTracker.Controllers
}
return PartialView("Note/_NoteModal", result);
}
private bool DeleteNoteWithChecks(int noteId)
private OperationResponse DeleteNoteWithChecks(int noteId)
{
var existingRecord = _noteDataAccess.GetNoteById(noteId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _noteDataAccess.DeleteNoteById(existingRecord.Id);
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromNoteRecord(existingRecord, "noterecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteNoteById(int noteId)
@ -86,6 +86,10 @@ namespace CarCareTracker.Controllers
foreach (int noteId in noteIds)
{
var existingNote = _noteDataAccess.GetNoteById(noteId);
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingNote.VehicleId, HouseholdPermission.Edit))
{
return Json(OperationResponse.Failed("Access Denied"));
}
if (isToggle)
{
existingNote.Pinned = !existingNote.Pinned;
@ -96,7 +100,7 @@ namespace CarCareTracker.Controllers
}
result = _noteDataAccess.SaveNoteToVehicle(existingNote);
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
}
}

View File

@ -7,13 +7,17 @@ namespace CarCareTracker.Controllers
{
public partial class VehicleController
{
[TypeFilter(typeof(CollaboratorFilter))]
[HttpPost]
public IActionResult ForceRecalculateDistanceByVehicleId(int vehicleId)
{
//security check
if (!_userLogic.UserCanEditVehicle(GetUserID(), vehicleId, HouseholdPermission.Edit))
{
return Json(OperationResponse.Failed("Access Denied"));
}
var result = _odometerRecordDataAccess.GetOdometerRecordsByVehicleId(vehicleId);
result = _odometerLogic.AutoConvertOdometerRecord(result);
return Json(result.Any());
return Json(OperationResponse.Conditional(result.Any(), string.Empty, StaticHelper.GenericErrorMessage));
}
[TypeFilter(typeof(CollaboratorFilter))]
[HttpGet]
@ -42,7 +46,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), odometerRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//move files from temp.
odometerRecord.Files = odometerRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -52,7 +56,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromOdometerRecord(convertedRecord, odometerRecord.Id == default ? "odometerrecord.add" : "odometerrecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[TypeFilter(typeof(CollaboratorFilter))]
[HttpGet]
@ -88,6 +92,11 @@ namespace CarCareTracker.Controllers
foreach (int recordId in editModel.RecordIds)
{
var existingRecord = _odometerRecordDataAccess.GetOdometerRecordById(recordId);
//security check
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(OperationResponse.Failed("Access Denied"));
}
if (dateIsEdited)
{
existingRecord.Date = editModel.EditRecord.Date;
@ -126,7 +135,7 @@ namespace CarCareTracker.Controllers
}
result = _odometerRecordDataAccess.SaveOdometerRecordToVehicle(existingRecord);
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetOdometerRecordForEditById(int odometerRecordId)
@ -152,20 +161,20 @@ namespace CarCareTracker.Controllers
};
return PartialView("Odometer/_OdometerRecordModal", convertedResult);
}
private bool DeleteOdometerRecordWithChecks(int odometerRecordId)
private OperationResponse DeleteOdometerRecordWithChecks(int odometerRecordId)
{
var existingRecord = _odometerRecordDataAccess.GetOdometerRecordById(odometerRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _odometerRecordDataAccess.DeleteOdometerRecordById(existingRecord.Id);
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromOdometerRecord(existingRecord, "odometerrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteOdometerRecordById(int odometerRecordId)

View File

@ -20,7 +20,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), planRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//populate createdDate
if (planRecord.Id == default)
@ -47,7 +47,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromPlanRecord(planRecord.ToPlanRecord(), planRecord.Id == default ? "planrecord.add" : "planrecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpPost]
public IActionResult SavePlanRecordTemplateToVehicleId(PlanRecordInput planRecord)
@ -65,7 +65,7 @@ namespace CarCareTracker.Controllers
}
planRecord.Files = planRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
var result = _planRecordTemplateDataAccess.SavePlanRecordTemplateToVehicle(planRecord);
return Json(OperationResponse.Conditional(result, "Template Added", string.Empty));
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[TypeFilter(typeof(CollaboratorFilter))]
[HttpGet]
@ -80,15 +80,15 @@ namespace CarCareTracker.Controllers
var existingRecord = _planRecordTemplateDataAccess.GetPlanRecordTemplateById(planRecordTemplateId);
if (existingRecord.Id == default)
{
return Json(false);
return Json(OperationResponse.Failed(StaticHelper.GenericErrorMessage));
}
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
var result = _planRecordTemplateDataAccess.DeletePlanRecordTemplateById(planRecordTemplateId);
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult OrderPlanSupplies(int planRecordTemplateId)
@ -161,7 +161,7 @@ namespace CarCareTracker.Controllers
}
}
var result = _planRecordDataAccess.SavePlanRecordToVehicle(existingRecord.ToPlanRecord());
return Json(OperationResponse.Conditional(result, "Plan Record Added", string.Empty));
return Json(OperationResponse.Conditional(result, "Plan Record Added", StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddPlanRecordPartialView()
@ -183,13 +183,13 @@ namespace CarCareTracker.Controllers
{
if (planRecordId == default)
{
return Json(false);
return Json(OperationResponse.Failed(StaticHelper.GenericErrorMessage));
}
var existingRecord = _planRecordDataAccess.GetPlanRecordById(planRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
existingRecord.Progress = planProgress;
existingRecord.DateModified = DateTime.Now;
@ -267,7 +267,7 @@ namespace CarCareTracker.Controllers
PushbackRecurringReminderRecordWithChecks(existingRecord.ReminderRecordId, DateTime.Now, odometer);
}
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetPlanRecordTemplateForEditById(int planRecordTemplateId)
@ -316,7 +316,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//restore any requisitioned supplies if it has not been converted to other record types.
if (existingRecord.RequisitionHistory.Any() && existingRecord.Progress != PlanProgress.Done)
@ -328,7 +328,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromPlanRecord(existingRecord, "planrecord.delete", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
}
}

View File

@ -18,7 +18,7 @@ namespace CarCareTracker.Controllers
{
var result = GetRemindersAndUrgency(vehicleId, DateTime.Now);
//check if user wants auto-refresh past-due reminders
if (_config.GetUserConfig(User).EnableAutoReminderRefresh)
if (_config.GetUserConfig(User).EnableAutoReminderRefresh && _userLogic.UserCanEditVehicle(GetUserID(), vehicleId, HouseholdPermission.Edit))
{
//check for past due reminders that are eligible for recurring.
var pastDueAndRecurring = result.Where(x => x.Urgency == ReminderUrgency.PastDue && x.IsRecurring);
@ -75,7 +75,7 @@ namespace CarCareTracker.Controllers
var result = PushbackRecurringReminderRecordWithChecks(reminderRecordId, null, null);
return Json(result);
}
private bool PushbackRecurringReminderRecordWithChecks(int reminderRecordId, DateTime? currentDate, int? currentMileage)
private OperationResponse PushbackRecurringReminderRecordWithChecks(int reminderRecordId, DateTime? currentDate, int? currentMileage)
{
try
{
@ -85,7 +85,7 @@ namespace CarCareTracker.Controllers
//security check
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingReminder.VehicleId, HouseholdPermission.Edit))
{
return false;
return OperationResponse.Failed("Access Denied");
}
existingReminder = _reminderHelper.GetUpdatedRecurringReminderRecord(existingReminder, currentDate, currentMileage);
//save to db.
@ -93,20 +93,20 @@ namespace CarCareTracker.Controllers
if (!reminderUpdateResult)
{
_logger.LogError("Unable to update reminder either because the reminder no longer exists or is no longer recurring");
return false;
return OperationResponse.Failed("Unable to update reminder either because the reminder no longer exists or is no longer recurring");
}
return true;
return OperationResponse.Succeed();
}
else
{
_logger.LogError("Unable to update reminder because it no longer exists.");
return false;
return OperationResponse.Failed("Unable to update reminder because it no longer exists.");
}
}
catch (Exception ex)
{
_logger.LogError(ex.Message);
return false;
return OperationResponse.Failed(StaticHelper.GenericErrorMessage);
}
}
[HttpPost]
@ -115,14 +115,14 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), reminderRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
var result = _reminderRecordDataAccess.SaveReminderRecordToVehicle(reminderRecord.ToReminderRecord());
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromReminderRecord(reminderRecord.ToReminderRecord(), reminderRecord.Id == default ? "reminderrecord.add" : "reminderrecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpPost]
public IActionResult GetAddReminderRecordPartialView(ReminderRecordInput? reminderModel)
@ -168,20 +168,20 @@ namespace CarCareTracker.Controllers
};
return PartialView("Reminder/_ReminderRecordModal", convertedResult);
}
private bool DeleteReminderRecordWithChecks(int reminderRecordId)
private OperationResponse DeleteReminderRecordWithChecks(int reminderRecordId)
{
var existingRecord = _reminderRecordDataAccess.GetReminderRecordById(reminderRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _reminderRecordDataAccess.DeleteReminderRecordById(existingRecord.Id);
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromReminderRecord(existingRecord, "reminderrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteReminderRecordById(int reminderRecordId)

View File

@ -29,7 +29,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), collisionRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//move files from temp.
collisionRecord.Files = collisionRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -70,7 +70,7 @@ namespace CarCareTracker.Controllers
Files = StaticHelper.CreateAttachmentFromRecord(ImportMode.RepairRecord, convertedRecord.Id, convertedRecord.Description)
});
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddCollisionRecordPartialView()
@ -103,13 +103,13 @@ namespace CarCareTracker.Controllers
};
return PartialView("Collision/_CollisionRecordModal", convertedResult);
}
private bool DeleteCollisionRecordWithChecks(int collisionRecordId)
private OperationResponse DeleteCollisionRecordWithChecks(int collisionRecordId)
{
var existingRecord = _collisionRecordDataAccess.GetCollisionRecordById(collisionRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
//restore any requisitioned supplies.
if (existingRecord.RequisitionHistory.Any())
@ -121,7 +121,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromGenericRecord(existingRecord, "repairrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteCollisionRecordById(int collisionRecordId)

View File

@ -29,7 +29,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), serviceRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//move files from temp.
serviceRecord.Files = serviceRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -70,7 +70,7 @@ namespace CarCareTracker.Controllers
Files = StaticHelper.CreateAttachmentFromRecord(ImportMode.ServiceRecord, convertedRecord.Id, convertedRecord.Description)
});
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddServiceRecordPartialView()
@ -103,13 +103,13 @@ namespace CarCareTracker.Controllers
};
return PartialView("Service/_ServiceRecordModal", convertedResult);
}
private bool DeleteServiceRecordWithChecks(int serviceRecordId)
private OperationResponse DeleteServiceRecordWithChecks(int serviceRecordId)
{
var existingRecord = _serviceRecordDataAccess.GetServiceRecordById(serviceRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
//restore any requisitioned supplies.
if (existingRecord.RequisitionHistory.Any())
@ -121,7 +121,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromGenericRecord(existingRecord, "servicerecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteServiceRecordById(int serviceRecordId)

View File

@ -150,7 +150,7 @@ namespace CarCareTracker.Controllers
//security check only if not editing shop supply.
if (!_userLogic.UserCanEditVehicle(GetUserID(), supplyRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
}
//move files from temp.
@ -160,7 +160,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromSupplyRecord(supplyRecord.ToSupplyRecord(), supplyRecord.Id == default ? "supplyrecord.add" : "supplyrecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddSupplyRecordPartialView()
@ -203,7 +203,7 @@ namespace CarCareTracker.Controllers
};
return PartialView("Supply/_SupplyRecordModal", convertedResult);
}
private bool DeleteSupplyRecordWithChecks(int supplyRecordId)
private OperationResponse DeleteSupplyRecordWithChecks(int supplyRecordId)
{
var existingRecord = _supplyRecordDataAccess.GetSupplyRecordById(supplyRecordId);
if (existingRecord.VehicleId != default)
@ -211,7 +211,7 @@ namespace CarCareTracker.Controllers
//security check only if not editing shop supply.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
}
var result = _supplyRecordDataAccess.DeleteSupplyRecordById(existingRecord.Id);
@ -219,7 +219,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromSupplyRecord(existingRecord, "supplyrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteSupplyRecordById(int supplyRecordId)

View File

@ -44,7 +44,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), taxRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//move files from temp.
taxRecord.Files = taxRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -62,7 +62,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromTaxRecord(taxRecord.ToTaxRecord(), taxRecord.Id == default ? "taxrecord.add" : "taxrecord.update", User.Identity.Name));
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddTaxRecordPartialView()
@ -97,20 +97,20 @@ namespace CarCareTracker.Controllers
};
return PartialView("Tax/_TaxRecordModal", convertedResult);
}
private bool DeleteTaxRecordWithChecks(int taxRecordId)
private OperationResponse DeleteTaxRecordWithChecks(int taxRecordId)
{
var existingRecord = _taxRecordDataAccess.GetTaxRecordById(taxRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
var result = _taxRecordDataAccess.DeleteTaxRecordById(existingRecord.Id);
if (result)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromTaxRecord(existingRecord, "taxrecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteTaxRecordById(int taxRecordId)

View File

@ -29,7 +29,7 @@ namespace CarCareTracker.Controllers
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), upgradeRecord.VehicleId, HouseholdPermission.Edit))
{
return Json(false);
return Json(OperationResponse.Failed("Access Denied"));
}
//move files from temp.
upgradeRecord.Files = upgradeRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
@ -70,7 +70,7 @@ namespace CarCareTracker.Controllers
Files = StaticHelper.CreateAttachmentFromRecord(ImportMode.UpgradeRecord, convertedRecord.Id, convertedRecord.Description)
});
}
return Json(result);
return Json(OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage));
}
[HttpGet]
public IActionResult GetAddUpgradeRecordPartialView()
@ -103,13 +103,13 @@ namespace CarCareTracker.Controllers
};
return PartialView("Upgrade/_UpgradeRecordModal", convertedResult);
}
private bool DeleteUpgradeRecordWithChecks(int upgradeRecordId)
private OperationResponse DeleteUpgradeRecordWithChecks(int upgradeRecordId)
{
var existingRecord = _upgradeRecordDataAccess.GetUpgradeRecordById(upgradeRecordId);
//security check.
if (!_userLogic.UserCanEditVehicle(GetUserID(), existingRecord.VehicleId, HouseholdPermission.Delete))
{
return false;
return OperationResponse.Failed("Access Denied");
}
//restore any requisitioned supplies.
if (existingRecord.RequisitionHistory.Any())
@ -121,7 +121,7 @@ namespace CarCareTracker.Controllers
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.FromGenericRecord(existingRecord, "upgraderecord.delete", User.Identity.Name));
}
return result;
return OperationResponse.Conditional(result, string.Empty, StaticHelper.GenericErrorMessage);
}
[HttpPost]
public IActionResult DeleteUpgradeRecordById(int upgradeRecordId)

View File

@ -729,7 +729,7 @@ namespace CarCareTracker.Controllers
}
public IActionResult DeleteRecords(List<int> recordIds, ImportMode importMode)
{
bool result = false;
OperationResponse result = OperationResponse.Failed(StaticHelper.GenericErrorMessage);
foreach (int recordId in recordIds)
{
switch (importMode)
@ -766,7 +766,7 @@ namespace CarCareTracker.Controllers
break;
}
}
if (result)
if (result.Success)
{
StaticHelper.NotifyAsync(_config.GetWebHookUrl(), WebHookPayload.Generic($"Deleted multiple {importMode.ToString()} - Ids: {string.Join(", ", recordIds)}", "bulk.delete", User.Identity.Name, string.Empty));
}

View File

@ -32,7 +32,7 @@
"UseUnitForFuelCost": false,
"PreferredGasUnit": "",
"UserLanguage": "en_US",
"VisibleTabs": [ 0, 1, 4, 2, 3, 6, 5, 8 ],
"VisibleTabs": [ 8 ],
"TabOrder": [ 8, 9, 10, 0, 1, 4, 2, 7, 3, 6, 12, 5 ],
"DefaultTab": 8,
"UserNameHash": "",

View File

@ -52,13 +52,13 @@ function deleteCollisionRecord(collisionRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteCollisionRecordById?collisionRecordId=${collisionRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddCollisionRecordModal();
successToast("Repair Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleCollisionRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -76,7 +76,7 @@ function saveCollisionRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveCollisionRecordToVehicleId', { collisionRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Repair Record Updated" : "Repair Record Added.");
hideAddCollisionRecordModal();
saveScrollPosition();
@ -85,7 +85,7 @@ function saveCollisionRecordToVehicle(isEdit) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}

View File

@ -116,12 +116,12 @@ function generateReminderItem(id, urgency, description) {
function markDoneCalendarReminderRecord(reminderRecordId, e) {
event.stopPropagation();
$.post(`/Vehicle/PushbackRecurringReminderRecord?reminderRecordId=${reminderRecordId}`, function (data) {
if (data) {
if (data.success) {
hideCalendarReminderModal();
successToast("Reminder Updated");
getVehicleCalendarEvents();
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
}
@ -139,12 +139,12 @@ function deleteCalendarReminderRecord(reminderRecordId, e) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteReminderRecordById?reminderRecordId=${reminderRecordId}`, function (data) {
if (data) {
if (data.success) {
hideCalendarReminderModal();
successToast("Reminder Deleted");
getVehicleCalendarEvents();
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {

View File

@ -52,13 +52,13 @@ function deleteGasRecord(gasRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteGasRecordById?gasRecordId=${gasRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddGasRecordModal();
successToast("Gas Record deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleGasRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -76,13 +76,13 @@ function saveGasRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveGasRecordToVehicleId', { gasRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Gas Record Updated" : "Gas Record Added.");
hideAddGasRecordModal();
saveScrollPosition();
getVehicleGasRecords(formValues.vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}

View File

@ -201,11 +201,11 @@ function deleteInspectionRecordTemplate(inspectionRecordTemplateId) {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteInspectionRecordTemplateById?inspectionRecordTemplateId=${inspectionRecordTemplateId}`, function (data) {
$("#workAroundInput").hide();
if (data) {
if (data.success) {
successToast("Inspection Template Deleted");
hideInspectionRecordTemplateModal();
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -215,7 +215,10 @@ function deleteInspectionRecordTemplate(inspectionRecordTemplateId) {
}
function useInspectionRecordTemplate(inspectionRecordTemplateId) {
$.get(`/Vehicle/GetAddInspectionRecordPartialView?inspectionRecordTemplateId=${inspectionRecordTemplateId}`, function (data) {
if (data) {
if (isOperationResponse(data)) {
return;
}
else if (data) {
$("#inspectionRecordModalContent").html(data);
hideInspectionRecordTemplateSelectorModal();
//initiate datepicker
@ -359,7 +362,7 @@ function saveinspectionRecordToVehicle() {
return;
}
$.post('/Vehicle/SaveInspectionRecordToVehicleId', { inspectionRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast("Inspection Record Added.");
hideAddInspectionRecordModal();
saveScrollPosition();
@ -368,7 +371,7 @@ function saveinspectionRecordToVehicle() {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}
@ -381,19 +384,22 @@ function updateInspectionRecord(recordId) {
}
let vehicleId = GetVehicleId().vehicleId;
$.post('/Vehicle/UpdateInspectionRecord', { inspectionRecord: inspectionRecord }, function (data) {
if (data) {
if (data.success) {
successToast("Inspection Record Updated.");
hideAddInspectionRecordModal();
saveScrollPosition();
getVehicleInspectionRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}
function showEditInspectionRecordModal(inspectionRecordId) {
$.get(`/Vehicle/GetViewInspectionRecordPartialView?inspectionRecordId=${inspectionRecordId}`, function (data) {
if (data) {
if (isOperationResponse(data)) {
return;
}
else if (data) {
$("#inspectionRecordModalContent").html(data);
//initiate tag selector
initTagSelector($("#inspectionRecordTag"));
@ -415,13 +421,13 @@ function deleteInspectionRecord(inspectionRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteInspectionRecordById?inspectionRecordId=${inspectionRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddInspectionRecordModal();
successToast("Inspection Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleInspectionRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {

View File

@ -48,13 +48,13 @@ function deleteNote(noteId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteNoteById?noteId=${noteId}`, function (data) {
if (data) {
if (data.success) {
hideAddNoteModal();
successToast("Note Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleNotes(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -72,7 +72,7 @@ function saveNoteToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveNoteToVehicleId', { note: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Note Updated" : "Note Added.");
hideAddNoteModal();
saveScrollPosition();
@ -121,9 +121,11 @@ function getAndValidateNoteValues() {
}
function pinNotes(ids, toggle, pinStatus) {
$.post('/Vehicle/PinNotes', { noteIds: ids, isToggle: toggle, pinStatus: pinStatus }, function (data) {
if (data) {
if (data.success) {
successToast(ids.length > 1 ? `${ids.length} Notes Updated` : "Note Updated.");
getVehicleNotes(GetVehicleId().vehicleId);
} else {
errorToast(data.message);
}
})
}

View File

@ -52,13 +52,13 @@ function deleteOdometerRecord(odometerRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteOdometerRecordById?odometerRecordId=${odometerRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddOdometerRecordModal();
successToast("Odometer Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleOdometerRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -76,7 +76,7 @@ function saveOdometerRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveOdometerRecordToVehicleId', { odometerRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Odometer Record Updated" : "Odometer Record Added.");
hideAddOdometerRecordModal();
saveScrollPosition();
@ -85,7 +85,7 @@ function saveOdometerRecordToVehicle(isEdit) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}
@ -142,11 +142,11 @@ function recalculateDistance() {
//reserved for when data is incoherent with negative distances due to non-chronological order of odometer records.
var vehicleId = GetVehicleId().vehicleId
$.post(`/Vehicle/ForceRecalculateDistanceByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
if (data.success) {
successToast("Odometer Records Updated")
getVehicleOdometerRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
}
@ -204,13 +204,13 @@ function saveMultipleOdometerRecordsToVehicle() {
}
}
$.post('/Vehicle/SaveMultipleOdometerRecords', { editModel: formValues }, function (data) {
if (data) {
if (data.success) {
successToast("Odometer Records Updated");
hideAddOdometerRecordModal();
saveScrollPosition();
getVehicleOdometerRecords(GetVehicleId().vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}

View File

@ -88,7 +88,7 @@ function deletePlanRecord(planRecordId, noModal) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeletePlanRecordById?planRecordId=${planRecordId}`, function (data) {
if (data) {
if (data.success) {
if (!noModal) {
hideAddPlanRecordModal();
}
@ -96,7 +96,7 @@ function deletePlanRecord(planRecordId, noModal) {
var vehicleId = GetVehicleId().vehicleId;
getVehiclePlanRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -114,7 +114,7 @@ function savePlanRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SavePlanRecordToVehicleId', { planRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Plan Record Updated" : "Plan Record Added.");
hideAddPlanRecordModal();
if (!getPlanRecordModelData().createdFromReminder) {
@ -125,7 +125,7 @@ function savePlanRecordToVehicle(isEdit) {
}
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}
@ -170,11 +170,11 @@ function deletePlannerRecordTemplate(planRecordTemplateId) {
if (result.isConfirmed) {
$.post(`/Vehicle/DeletePlanRecordTemplateById?planRecordTemplateId=${planRecordTemplateId}`, function (data) {
$("#workAroundInput").hide();
if (data) {
if (data.success) {
successToast("Plan Template Deleted");
hideAddPlanRecordModal();
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -309,12 +309,12 @@ function updatePlanRecordProgress(newProgress) {
//Odometer Adjustments
var adjustedOdometer = GetAdjustedOdometer(0, result.value.odometer);
$.post('/Vehicle/UpdatePlanRecordProgress', { planRecordId: draggedId, planProgress: newProgress, odometer: adjustedOdometer }, function (data) {
if (data) {
if (data.success) {
successToast("Plan Progress Updated");
var vehicleId = GetVehicleId().vehicleId;
getVehiclePlanRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
}
@ -322,12 +322,12 @@ function updatePlanRecordProgress(newProgress) {
});
} else {
$.post('/Vehicle/UpdatePlanRecordProgress', { planRecordId: draggedId, planProgress: newProgress }, function (data) {
if (data) {
if (data.success) {
successToast("Plan Progress Updated");
var vehicleId = GetVehicleId().vehicleId;
getVehiclePlanRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
draggedId = 0;

View File

@ -94,13 +94,13 @@ function deleteReminderRecord(reminderRecordId, e) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteReminderRecordById?reminderRecordId=${reminderRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddReminderRecordModal();
successToast("Reminder Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleReminders(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -126,7 +126,7 @@ function saveReminderRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveReminderRecordToVehicleId', { reminderRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Reminder Updated" : "Reminder Added.");
hideAddReminderRecordModal();
if (!getReminderRecordModelData().createdFromRecord) {
@ -136,7 +136,7 @@ function saveReminderRecordToVehicle(isEdit) {
getVehicleHaveImportantReminders(formValues.vehicleId);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}
@ -181,11 +181,11 @@ function markDoneReminderRecord(reminderRecordId, e) {
event.stopPropagation();
var vehicleId = GetVehicleId().vehicleId;
$.post(`/Vehicle/PushbackRecurringReminderRecord?reminderRecordId=${reminderRecordId}`, function (data) {
if (data) {
if (data.success) {
successToast("Reminder Updated");
getVehicleReminders(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
}

View File

@ -52,13 +52,13 @@ function deleteServiceRecord(serviceRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteServiceRecordById?serviceRecordId=${serviceRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddServiceRecordModal();
successToast("Service Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleServiceRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -76,7 +76,7 @@ function saveServiceRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveServiceRecordToVehicleId', { serviceRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Service Record Updated" : "Service Record Added.");
hideAddServiceRecordModal();
saveScrollPosition();
@ -85,7 +85,7 @@ function saveServiceRecordToVehicle(isEdit) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}

View File

@ -933,12 +933,12 @@ function deleteRecords(ids, source) {
}).then((result) => {
if (result.isConfirmed) {
$.post('/Vehicle/DeleteRecords', { recordIds: ids, importMode: source }, function (data) {
if (data) {
if (data.success) {
successToast(`${ids.length} Record(s) Deleted`);
var vehicleId = GetVehicleId().vehicleId;
refreshDataCallBack(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {

View File

@ -52,13 +52,13 @@ function deleteSupplyRecord(supplyRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteSupplyRecordById?supplyRecordId=${supplyRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddSupplyRecordModal();
successToast("Supply Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleSupplyRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -76,7 +76,7 @@ function saveSupplyRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveSupplyRecordToVehicleId', { supplyRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Supply Record Updated" : "Supply Record Added.");
hideAddSupplyRecordModal();
saveScrollPosition();
@ -85,7 +85,7 @@ function saveSupplyRecordToVehicle(isEdit) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}

View File

@ -60,13 +60,13 @@ function deleteTaxRecord(taxRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteTaxRecordById?taxRecordId=${taxRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddTaxRecordModal();
successToast("Tax Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleTaxRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -84,7 +84,7 @@ function saveTaxRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveTaxRecordToVehicleId', { taxRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Tax Record Updated" : "Tax Record Added.");
hideAddTaxRecordModal();
saveScrollPosition();
@ -93,7 +93,7 @@ function saveTaxRecordToVehicle(isEdit) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}

View File

@ -52,13 +52,13 @@ function deleteUpgradeRecord(upgradeRecordId) {
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteUpgradeRecordById?upgradeRecordId=${upgradeRecordId}`, function (data) {
if (data) {
if (data.success) {
hideAddUpgradeRecordModal();
successToast("Upgrade Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleUpgradeRecords(vehicleId);
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
});
} else {
@ -76,7 +76,7 @@ function saveUpgradeRecordToVehicle(isEdit) {
}
//save to db.
$.post('/Vehicle/SaveUpgradeRecordToVehicleId', { upgradeRecord: formValues }, function (data) {
if (data) {
if (data.success) {
successToast(isEdit ? "Upgrade Record Updated" : "Upgrade Record Added.");
hideAddUpgradeRecordModal();
saveScrollPosition();
@ -85,7 +85,7 @@ function saveUpgradeRecordToVehicle(isEdit) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast(genericErrorMessage());
errorToast(data.message);
}
})
}