mirror of
https://github.com/hargata/lubelog.git
synced 2025-12-11 04:37:03 -06:00
added functionality to delete records in bulk.
This commit is contained in:
parent
5204a71b00
commit
6af0d8b88e
@ -165,18 +165,21 @@ namespace CarCareTracker.Controllers
|
|||||||
var sourceCollaborators = _userLogic.GetCollaboratorsForVehicle(sourceVehicleId).Select(x => x.UserVehicle.UserId).ToList();
|
var sourceCollaborators = _userLogic.GetCollaboratorsForVehicle(sourceVehicleId).Select(x => x.UserVehicle.UserId).ToList();
|
||||||
var destCollaborators = _userLogic.GetCollaboratorsForVehicle(destVehicleId).Select(x => x.UserVehicle.UserId).ToList();
|
var destCollaborators = _userLogic.GetCollaboratorsForVehicle(destVehicleId).Select(x => x.UserVehicle.UserId).ToList();
|
||||||
sourceCollaborators.RemoveAll(x => destCollaborators.Contains(x));
|
sourceCollaborators.RemoveAll(x => destCollaborators.Contains(x));
|
||||||
if (sourceCollaborators.Any()) {
|
if (sourceCollaborators.Any())
|
||||||
|
{
|
||||||
foreach (int collaboratorId in sourceCollaborators)
|
foreach (int collaboratorId in sourceCollaborators)
|
||||||
{
|
{
|
||||||
_userLogic.AddUserAccessToVehicle(collaboratorId, destVehicleId);
|
_userLogic.AddUserAccessToVehicle(collaboratorId, destVehicleId);
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
return Json(new OperationResponse { Success = false, Message = "Both vehicles already have identical collaborators" });
|
return Json(new OperationResponse { Success = false, Message = "Both vehicles already have identical collaborators" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Json(new OperationResponse { Success = true, Message = "Collaborators Copied" });
|
return Json(new OperationResponse { Success = true, Message = "Collaborators Copied" });
|
||||||
} catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.LogError(ex.Message);
|
_logger.LogError(ex.Message);
|
||||||
return Json(new OperationResponse { Success = false, Message = StaticHelper.GenericErrorMessage });
|
return Json(new OperationResponse { Success = false, Message = StaticHelper.GenericErrorMessage });
|
||||||
@ -881,11 +884,13 @@ namespace CarCareTracker.Controllers
|
|||||||
if (recurringFee.RecurringInterval != ReminderMonthInterval.Other)
|
if (recurringFee.RecurringInterval != ReminderMonthInterval.Other)
|
||||||
{
|
{
|
||||||
newDate = recurringFee.Date.AddMonths((int)recurringFee.RecurringInterval);
|
newDate = recurringFee.Date.AddMonths((int)recurringFee.RecurringInterval);
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
newDate = recurringFee.Date.AddMonths(recurringFee.CustomMonthInterval);
|
newDate = recurringFee.Date.AddMonths(recurringFee.CustomMonthInterval);
|
||||||
}
|
}
|
||||||
if (DateTime.Now > newDate){
|
if (DateTime.Now > newDate)
|
||||||
|
{
|
||||||
recurringFee.IsRecurring = false;
|
recurringFee.IsRecurring = false;
|
||||||
var newRecurringFee = new TaxRecord()
|
var newRecurringFee = new TaxRecord()
|
||||||
{
|
{
|
||||||
@ -1106,7 +1111,8 @@ namespace CarCareTracker.Controllers
|
|||||||
public IActionResult GetVehicleAttachments(int vehicleId, List<ImportMode> exportTabs)
|
public IActionResult GetVehicleAttachments(int vehicleId, List<ImportMode> exportTabs)
|
||||||
{
|
{
|
||||||
List<GenericReportModel> attachmentData = new List<GenericReportModel>();
|
List<GenericReportModel> attachmentData = new List<GenericReportModel>();
|
||||||
if (exportTabs.Contains(ImportMode.ServiceRecord)){
|
if (exportTabs.Contains(ImportMode.ServiceRecord))
|
||||||
|
{
|
||||||
var records = _serviceRecordDataAccess.GetServiceRecordsByVehicleId(vehicleId).Where(x => x.Files.Any());
|
var records = _serviceRecordDataAccess.GetServiceRecordsByVehicleId(vehicleId).Where(x => x.Files.Any());
|
||||||
attachmentData.AddRange(records.Select(x => new GenericReportModel
|
attachmentData.AddRange(records.Select(x => new GenericReportModel
|
||||||
{
|
{
|
||||||
@ -1174,7 +1180,8 @@ namespace CarCareTracker.Controllers
|
|||||||
return Json(new OperationResponse { Success = false, Message = StaticHelper.GenericErrorMessage });
|
return Json(new OperationResponse { Success = false, Message = StaticHelper.GenericErrorMessage });
|
||||||
}
|
}
|
||||||
return Json(new OperationResponse { Success = true, Message = result });
|
return Json(new OperationResponse { Success = true, Message = result });
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
return Json(new OperationResponse { Success = false, Message = "No Attachments Found" });
|
return Json(new OperationResponse { Success = false, Message = "No Attachments Found" });
|
||||||
}
|
}
|
||||||
@ -1897,7 +1904,8 @@ namespace CarCareTracker.Controllers
|
|||||||
{
|
{
|
||||||
_logger.LogError("Unable to update reminder either because the reminder no longer exists or is no longer recurring");
|
_logger.LogError("Unable to update reminder either because the reminder no longer exists or is no longer recurring");
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
_logger.LogError("Unable to update reminder because it no longer exists.");
|
_logger.LogError("Unable to update reminder because it no longer exists.");
|
||||||
}
|
}
|
||||||
@ -2091,6 +2099,45 @@ namespace CarCareTracker.Controllers
|
|||||||
}
|
}
|
||||||
return Json(result);
|
return Json(result);
|
||||||
}
|
}
|
||||||
|
public IActionResult DeleteRecords(List<int> recordIds, ImportMode importMode)
|
||||||
|
{
|
||||||
|
var genericRecord = new GenericRecord();
|
||||||
|
bool result = false;
|
||||||
|
foreach (int recordId in recordIds)
|
||||||
|
{
|
||||||
|
switch (importMode)
|
||||||
|
{
|
||||||
|
case ImportMode.ServiceRecord:
|
||||||
|
result = _serviceRecordDataAccess.DeleteServiceRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.RepairRecord:
|
||||||
|
result = _collisionRecordDataAccess.DeleteCollisionRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.UpgradeRecord:
|
||||||
|
result = _upgradeRecordDataAccess.DeleteUpgradeRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.GasRecord:
|
||||||
|
result = _gasRecordDataAccess.DeleteGasRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.TaxRecord:
|
||||||
|
result = _taxRecordDataAccess.DeleteTaxRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.SupplyRecord:
|
||||||
|
result = _supplyRecordDataAccess.DeleteSupplyRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.NoteRecord:
|
||||||
|
result = _noteDataAccess.DeleteNoteById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.OdometerRecord:
|
||||||
|
result = _odometerRecordDataAccess.DeleteOdometerRecordById(recordId);
|
||||||
|
break;
|
||||||
|
case ImportMode.ReminderRecord:
|
||||||
|
result = _reminderRecordDataAccess.DeleteReminderRecordById(recordId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Json(result);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -93,4 +93,6 @@
|
|||||||
<li><h6 class="dropdown-header">@translator.Translate(userLanguage, "Move To")</h6></li>
|
<li><h6 class="dropdown-header">@translator.Translate(userLanguage, "Move To")</h6></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'RepairRecord', 'ServiceRecord')">@translator.Translate(userLanguage, "Service Records")</a></li>
|
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'RepairRecord', 'ServiceRecord')">@translator.Translate(userLanguage, "Service Records")</a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'RepairRecord', 'UpgradeRecord')">@translator.Translate(userLanguage, "Upgrades")</a></li>
|
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'RepairRecord', 'UpgradeRecord')">@translator.Translate(userLanguage, "Upgrades")</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'RepairRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -112,7 +112,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach (GasRecordViewModel gasRecord in Model.GasRecords)
|
@foreach (GasRecordViewModel gasRecord in Model.GasRecords)
|
||||||
{
|
{
|
||||||
<tr class="d-flex" style="cursor:pointer;" data-rowId="@gasRecord.Id" onmousemove="rangeMouseMove(this)" onclick="showEditGasRecordModal(@gasRecord.Id)" data-tags='@string.Join(" ", gasRecord.Tags)'>
|
<tr class="d-flex" style="cursor:pointer;" data-rowId="@gasRecord.Id" oncontextmenu="showTableContextMenu(this)" onmousemove="rangeMouseMove(this)" onclick="showEditGasRecordModal(@gasRecord.Id)" data-tags='@string.Join(" ", gasRecord.Tags)'>
|
||||||
<td class="col-2">@gasRecord.Date</td>
|
<td class="col-2">@gasRecord.Date</td>
|
||||||
<td class="col-2" data-gas-type="mileage" data-gas-aggregate="@gasRecord.DeltaMileage" data-gas-original="@gasRecord.Mileage">@gasRecord.Mileage</td>
|
<td class="col-2" data-gas-type="mileage" data-gas-aggregate="@gasRecord.DeltaMileage" data-gas-original="@gasRecord.Mileage">@gasRecord.Mileage</td>
|
||||||
<td class="col-1">@(gasRecord.DeltaMileage == default ? "---" : gasRecord.DeltaMileage)</td>
|
<td class="col-1">@(gasRecord.DeltaMileage == default ? "---" : gasRecord.DeltaMileage)</td>
|
||||||
@ -136,6 +136,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ul class="table-context-menu dropdown-menu" style="display:none;">
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'GasRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@if (!string.IsNullOrWhiteSpace(preferredFuelEconomyUnit))
|
@if (!string.IsNullOrWhiteSpace(preferredFuelEconomyUnit))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,7 +44,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach (Note note in Model)
|
@foreach (Note note in Model)
|
||||||
{
|
{
|
||||||
<tr class="d-flex" style="cursor:pointer;" data-rowId="@note.Id" onmousemove="rangeMouseMove(this)" onclick="showEditNoteModal(@note.Id)" data-tags='@string.Join(" ", note.Tags)'>
|
<tr class="d-flex" style="cursor:pointer;" data-rowId="@note.Id" oncontextmenu="showTableContextMenu(this)" onmousemove="rangeMouseMove(this)" onclick="showEditNoteModal(@note.Id)" data-tags='@string.Join(" ", note.Tags)'>
|
||||||
@if (note.Pinned)
|
@if (note.Pinned)
|
||||||
{
|
{
|
||||||
<td class="col-3"><i class='bi bi-pin-fill me-2'></i>@note.Description</td>
|
<td class="col-3"><i class='bi bi-pin-fill me-2'></i>@note.Description</td>
|
||||||
@ -67,3 +67,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ul class="table-context-menu dropdown-menu" style="display:none;">
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'NoteRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
|
</ul>
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach (OdometerRecord odometerRecord in Model)
|
@foreach (OdometerRecord odometerRecord in Model)
|
||||||
{
|
{
|
||||||
<tr class="d-flex" style="cursor:pointer;" data-rowId="@odometerRecord.Id" onmousemove="rangeMouseMove(this)" onclick="showEditOdometerRecordModal(@odometerRecord.Id)" data-tags='@string.Join(" ", odometerRecord.Tags)'>
|
<tr class="d-flex" style="cursor:pointer;" data-rowId="@odometerRecord.Id" oncontextmenu="showTableContextMenu(this)" onmousemove="rangeMouseMove(this)" onclick="showEditOdometerRecordModal(@odometerRecord.Id)" data-tags='@string.Join(" ", odometerRecord.Tags)'>
|
||||||
<td class="col-2 col-xl-1">@odometerRecord.Date.ToShortDateString()</td>
|
<td class="col-2 col-xl-1">@odometerRecord.Date.ToShortDateString()</td>
|
||||||
<td class="col-3" data-record-type="cost">@odometerRecord.Mileage</td>
|
<td class="col-3" data-record-type="cost">@odometerRecord.Mileage</td>
|
||||||
<td class="col-7 col-xl-8 text-truncate">@CarCareTracker.Helper.StaticHelper.TruncateStrings(odometerRecord.Notes, 75)</td>
|
<td class="col-7 col-xl-8 text-truncate">@CarCareTracker.Helper.StaticHelper.TruncateStrings(odometerRecord.Notes, 75)</td>
|
||||||
@ -83,3 +83,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ul class="table-context-menu dropdown-menu" style="display:none;">
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'OdometerRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
|
</ul>
|
||||||
@ -45,7 +45,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach (ReminderRecordViewModel reminderRecord in Model)
|
@foreach (ReminderRecordViewModel reminderRecord in Model)
|
||||||
{
|
{
|
||||||
<tr class="d-flex" style="cursor:pointer;" data-rowId="@reminderRecord.Id" onmousemove="rangeMouseMove(this)" onclick="showEditReminderRecordModal(@reminderRecord.Id)">
|
<tr class="d-flex" style="cursor:pointer;" data-rowId="@reminderRecord.Id" oncontextmenu="showTableContextMenu(this)" onmousemove="rangeMouseMove(this)" onclick="showEditReminderRecordModal(@reminderRecord.Id)">
|
||||||
@if (reminderRecord.Urgency == ReminderUrgency.VeryUrgent)
|
@if (reminderRecord.Urgency == ReminderUrgency.VeryUrgent)
|
||||||
{
|
{
|
||||||
<td class="col-1"><span class="badge text-bg-danger">@translator.Translate(userLanguage, "Very Urgent")</span></td>
|
<td class="col-1"><span class="badge text-bg-danger">@translator.Translate(userLanguage, "Very Urgent")</span></td>
|
||||||
@ -100,3 +100,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ul class="table-context-menu dropdown-menu" style="display:none;">
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'ReminderRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
|
</ul>
|
||||||
@ -94,4 +94,6 @@
|
|||||||
<li><h6 class="dropdown-header">@translator.Translate(userLanguage, "Move To")</h6></li>
|
<li><h6 class="dropdown-header">@translator.Translate(userLanguage, "Move To")</h6></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'ServiceRecord', 'RepairRecord')">@translator.Translate(userLanguage, "Repairs")</a></li>
|
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'ServiceRecord', 'RepairRecord')">@translator.Translate(userLanguage, "Repairs")</a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'ServiceRecord', 'UpgradeRecord')">@translator.Translate(userLanguage, "Upgrades")</a></li>
|
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'ServiceRecord', 'UpgradeRecord')">@translator.Translate(userLanguage, "Upgrades")</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'ServiceRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -70,7 +70,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach (SupplyRecord supplyRecord in Model)
|
@foreach (SupplyRecord supplyRecord in Model)
|
||||||
{
|
{
|
||||||
<tr class="d-flex" style="cursor:pointer;" data-rowId="@supplyRecord.Id" onmousemove="rangeMouseMove(this)" onclick="showEditSupplyRecordModal(@supplyRecord.Id)" data-tags='@string.Join(" ", supplyRecord.Tags)'>
|
<tr class="d-flex" style="cursor:pointer;" data-rowId="@supplyRecord.Id" oncontextmenu="showTableContextMenu(this)" onmousemove="rangeMouseMove(this)" onclick="showEditSupplyRecordModal(@supplyRecord.Id)" data-tags='@string.Join(" ", supplyRecord.Tags)'>
|
||||||
<td class="col-2 col-xl-1">@supplyRecord.Date.ToShortDateString()</td>
|
<td class="col-2 col-xl-1">@supplyRecord.Date.ToShortDateString()</td>
|
||||||
<td class="col-2">@supplyRecord.PartNumber</td>
|
<td class="col-2">@supplyRecord.PartNumber</td>
|
||||||
<td class="col-2">@supplyRecord.PartSupplier</td>
|
<td class="col-2">@supplyRecord.PartSupplier</td>
|
||||||
@ -92,3 +92,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ul class="table-context-menu dropdown-menu" style="display:none;">
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'SupplyRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
|
</ul>
|
||||||
@ -67,7 +67,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach (TaxRecord taxRecord in Model)
|
@foreach (TaxRecord taxRecord in Model)
|
||||||
{
|
{
|
||||||
<tr class="d-flex" style="cursor:pointer;" data-rowId="@taxRecord.Id" onmousemove="rangeMouseMove(this)" onclick="showEditTaxRecordModal(@taxRecord.Id)" data-tags='@string.Join(" ", taxRecord.Tags)'>
|
<tr class="d-flex" style="cursor:pointer;" data-rowId="@taxRecord.Id" oncontextmenu="showTableContextMenu(this)" onmousemove="rangeMouseMove(this)" onclick="showEditTaxRecordModal(@taxRecord.Id)" data-tags='@string.Join(" ", taxRecord.Tags)'>
|
||||||
<td class="col-3 col-xl-1">@taxRecord.Date.ToShortDateString()</td>
|
<td class="col-3 col-xl-1">@taxRecord.Date.ToShortDateString()</td>
|
||||||
<td class="col-4 col-xl-6">@taxRecord.Description</td>
|
<td class="col-4 col-xl-6">@taxRecord.Description</td>
|
||||||
<td class="col-2" data-record-type="cost">@((hideZero && taxRecord.Cost == default) ? "---" : taxRecord.Cost.ToString("C"))</td>
|
<td class="col-2" data-record-type="cost">@((hideZero && taxRecord.Cost == default) ? "---" : taxRecord.Cost.ToString("C"))</td>
|
||||||
@ -86,3 +86,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ul class="table-context-menu dropdown-menu" style="display:none;">
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'TaxRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
|
</ul>
|
||||||
@ -92,4 +92,6 @@
|
|||||||
<li><h6 class="dropdown-header">@translator.Translate(userLanguage, "Move To")</h6></li>
|
<li><h6 class="dropdown-header">@translator.Translate(userLanguage, "Move To")</h6></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'UpgradeRecord', 'ServiceRecord')">@translator.Translate(userLanguage, "Service Records")</a></li>
|
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'UpgradeRecord', 'ServiceRecord')">@translator.Translate(userLanguage, "Service Records")</a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'UpgradeRecord', 'RepairRecord')">@translator.Translate(userLanguage, "Repairs")</a></li>
|
<li><a class="dropdown-item" href="#" onclick="moveRecords(selectedRow, 'UpgradeRecord', 'RepairRecord')">@translator.Translate(userLanguage, "Repairs")</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="deleteRecords(selectedRow, 'UpgradeRecord')">@translator.Translate(userLanguage, "Delete")</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -335,23 +335,19 @@ function moveRecords(ids, source, dest) {
|
|||||||
$("#workAroundInput").show();
|
$("#workAroundInput").show();
|
||||||
var friendlySource = "";
|
var friendlySource = "";
|
||||||
var friendlyDest = "";
|
var friendlyDest = "";
|
||||||
var hideModalCallBack;
|
|
||||||
var refreshDataCallBack;
|
var refreshDataCallBack;
|
||||||
var recordVerbiage = selectedRow.length > 1 ? "these records" : "this record";
|
var recordVerbiage = selectedRow.length > 1 ? "these records" : "this record";
|
||||||
switch (source) {
|
switch (source) {
|
||||||
case "ServiceRecord":
|
case "ServiceRecord":
|
||||||
friendlySource = "Service Records";
|
friendlySource = "Service Records";
|
||||||
hideModalCallBack = hideAddServiceRecordModal;
|
|
||||||
refreshDataCallBack = getVehicleServiceRecords;
|
refreshDataCallBack = getVehicleServiceRecords;
|
||||||
break;
|
break;
|
||||||
case "RepairRecord":
|
case "RepairRecord":
|
||||||
friendlySource = "Repairs";
|
friendlySource = "Repairs";
|
||||||
hideModalCallBack = hideAddCollisionRecordModal;
|
|
||||||
refreshDataCallBack = getVehicleCollisionRecords;
|
refreshDataCallBack = getVehicleCollisionRecords;
|
||||||
break;
|
break;
|
||||||
case "UpgradeRecord":
|
case "UpgradeRecord":
|
||||||
friendlySource = "Upgrades";
|
friendlySource = "Upgrades";
|
||||||
hideModalCallBack = hideAddUpgradeRecordModal;
|
|
||||||
refreshDataCallBack = getVehicleUpgradeRecords;
|
refreshDataCallBack = getVehicleUpgradeRecords;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -377,7 +373,6 @@ function moveRecords(ids, source, dest) {
|
|||||||
if (result.isConfirmed) {
|
if (result.isConfirmed) {
|
||||||
$.post('/Vehicle/MoveRecords', { recordIds: ids, source: source, destination: dest }, function (data) {
|
$.post('/Vehicle/MoveRecords', { recordIds: ids, source: source, destination: dest }, function (data) {
|
||||||
if (data) {
|
if (data) {
|
||||||
hideModalCallBack();
|
|
||||||
successToast("Records Moved");
|
successToast("Records Moved");
|
||||||
var vehicleId = GetVehicleId().vehicleId;
|
var vehicleId = GetVehicleId().vehicleId;
|
||||||
refreshDataCallBack(vehicleId);
|
refreshDataCallBack(vehicleId);
|
||||||
@ -390,6 +385,71 @@ function moveRecords(ids, source, dest) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function deleteRecords(ids, source) {
|
||||||
|
if (ids.length == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$("#workAroundInput").show();
|
||||||
|
var friendlySource = "";
|
||||||
|
var refreshDataCallBack;
|
||||||
|
var recordVerbiage = selectedRow.length > 1 ? "these records" : "this record";
|
||||||
|
switch (source) {
|
||||||
|
case "ServiceRecord":
|
||||||
|
friendlySource = "Service Records";
|
||||||
|
refreshDataCallBack = getVehicleServiceRecords;
|
||||||
|
break;
|
||||||
|
case "RepairRecord":
|
||||||
|
friendlySource = "Repairs";
|
||||||
|
refreshDataCallBack = getVehicleCollisionRecords;
|
||||||
|
break;
|
||||||
|
case "UpgradeRecord":
|
||||||
|
friendlySource = "Upgrades";
|
||||||
|
refreshDataCallBack = getVehicleUpgradeRecords;
|
||||||
|
break;
|
||||||
|
case "TaxRecord":
|
||||||
|
friendlySource = "Taxes";
|
||||||
|
refreshDataCallBack = getVehicleTaxRecords;
|
||||||
|
break;
|
||||||
|
case "SupplyRecord":
|
||||||
|
friendlySource = "Supplies";
|
||||||
|
refreshDataCallBack = getVehicleSupplyRecords;
|
||||||
|
break;
|
||||||
|
case "NoteRecord":
|
||||||
|
friendlySource = "Notes";
|
||||||
|
refreshDataCallBack = getVehicleNotes;
|
||||||
|
break;
|
||||||
|
case "OdometerRecord":
|
||||||
|
friendlySource = "Odometer Records";
|
||||||
|
refreshDataCallBack = getVehicleOdometerRecords;
|
||||||
|
break;
|
||||||
|
case "ReminderRecord":
|
||||||
|
friendlySource = "Reminders";
|
||||||
|
refreshDataCallBack = getVehicleReminders;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Swal.fire({
|
||||||
|
title: "Confirm Delete?",
|
||||||
|
text: `Delete ${recordVerbiage} from ${friendlySource}?`,
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonText: "Delete",
|
||||||
|
confirmButtonColor: "#dc3545"
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
$.post('/Vehicle/DeleteRecords', { recordIds: ids, importMode: source }, function (data) {
|
||||||
|
if (data) {
|
||||||
|
successToast("Records Deleted");
|
||||||
|
var vehicleId = GetVehicleId().vehicleId;
|
||||||
|
refreshDataCallBack(vehicleId);
|
||||||
|
} else {
|
||||||
|
errorToast(genericErrorMessage());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$("#workAroundInput").hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
var selectedRow = [];
|
var selectedRow = [];
|
||||||
var isDragging = false;
|
var isDragging = false;
|
||||||
$(window).on('mouseup', function (e) {
|
$(window).on('mouseup', function (e) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user