Recurring fees.

This commit is contained in:
DESKTOP-GENO133\IvanPlex
2024-01-23 21:48:26 -07:00
parent d86298f502
commit 013fb67943
2 changed files with 33 additions and 0 deletions

View File

@@ -85,6 +85,7 @@ namespace CarCareTracker.Controllers
public IActionResult Index(int vehicleId) public IActionResult Index(int vehicleId)
{ {
var data = _dataAccess.GetVehicleById(vehicleId); var data = _dataAccess.GetVehicleById(vehicleId);
UpdateRecurringTaxes(vehicleId);
return View(data); return View(data);
} }
[HttpGet] [HttpGet]
@@ -757,6 +758,34 @@ namespace CarCareTracker.Controllers
} }
return PartialView("_TaxRecords", result); return PartialView("_TaxRecords", result);
} }
private void UpdateRecurringTaxes(int vehicleId)
{
var result = _taxRecordDataAccess.GetTaxRecordsByVehicleId(vehicleId);
var recurringFees = result.Where(x => x.IsRecurring);
if (recurringFees.Any())
{
foreach(TaxRecord recurringFee in recurringFees)
{
var newDate = recurringFee.Date.AddMonths((int)recurringFee.RecurringInterval);
if (DateTime.Now > newDate){
recurringFee.IsRecurring = false;
var newRecurringFee = new TaxRecord()
{
VehicleId = recurringFee.VehicleId,
Date = newDate,
Description = recurringFee.Description,
Cost = recurringFee.Cost,
IsRecurring = true,
Notes = recurringFee.Notes,
RecurringInterval = recurringFee.RecurringInterval,
Files = recurringFee.Files
};
_taxRecordDataAccess.SaveTaxRecordToVehicle(recurringFee);
_taxRecordDataAccess.SaveTaxRecordToVehicle(newRecurringFee);
}
}
}
}
[HttpPost] [HttpPost]
public IActionResult SaveTaxRecordToVehicleId(TaxRecordInput taxRecord) public IActionResult SaveTaxRecordToVehicleId(TaxRecordInput taxRecord)
{ {
@@ -783,6 +812,8 @@ namespace CarCareTracker.Controllers
Description = result.Description, Description = result.Description,
Notes = result.Notes, Notes = result.Notes,
VehicleId = result.VehicleId, VehicleId = result.VehicleId,
IsRecurring = result.IsRecurring,
RecurringInterval = result.RecurringInterval,
Files = result.Files Files = result.Files
}; };
return PartialView("_TaxRecordModal", convertedResult); return PartialView("_TaxRecordModal", convertedResult);

View File

@@ -115,6 +115,8 @@ function getAndValidateTaxRecordValues() {
description: taxDescription, description: taxDescription,
cost: taxCost, cost: taxCost,
notes: taxNotes, notes: taxNotes,
isRecurring: taxIsRecurring,
recurringInterval: taxRecurringMonth,
files: uploadedFiles, files: uploadedFiles,
addReminderRecord: addReminderRecord addReminderRecord: addReminderRecord
} }