From 1339c427c45c2ec95fa9bd64a9bb8094317955d9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Sat, 20 Jan 2024 12:10:54 -0700 Subject: [PATCH] added button to manually push back a recurring reminder record. --- Controllers/VehicleController.cs | 23 ++++++++++------------- Helper/ReminderHelper.cs | 18 ++++++++++++++++++ Views/Vehicle/_ReminderRecords.cshtml | 20 ++++++++++++++++++-- wwwroot/js/reminderrecord.js | 13 +++++++++++++ 4 files changed, 59 insertions(+), 15 deletions(-) diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index 0352d11..ef53271 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -1072,19 +1072,7 @@ namespace CarCareTracker.Controllers //update based on recurring intervals. //pull reminderRecord based on ID var existingReminder = _reminderRecordDataAccess.GetReminderRecordById(reminderRecord.Id); - if (existingReminder.Metric == ReminderMetric.Both) - { - existingReminder.Date = existingReminder.Date.AddMonths((int)existingReminder.ReminderMonthInterval); - existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; - } - else if (existingReminder.Metric == ReminderMetric.Odometer) - { - existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; - } - else if (existingReminder.Metric == ReminderMetric.Date) - { - existingReminder.Date = existingReminder.Date.AddMonths((int)existingReminder.ReminderMonthInterval); - } + existingReminder = _reminderHelper.GetUpdatedRecurringReminderRecord(existingReminder); //save to db. _reminderRecordDataAccess.SaveReminderRecordToVehicle(existingReminder); //set urgency to not urgent so it gets excluded in count. @@ -1108,6 +1096,15 @@ namespace CarCareTracker.Controllers return PartialView("_ReminderRecords", result); } [HttpPost] + public IActionResult PushbackRecurringReminderRecord(int reminderRecordId) + { + var existingReminder = _reminderRecordDataAccess.GetReminderRecordById(reminderRecordId); + existingReminder = _reminderHelper.GetUpdatedRecurringReminderRecord(existingReminder); + //save to db. + var result = _reminderRecordDataAccess.SaveReminderRecordToVehicle(existingReminder); + return Json(result); + } + [HttpPost] public IActionResult SaveReminderRecordToVehicleId(ReminderRecordInput reminderRecord) { var result = _reminderRecordDataAccess.SaveReminderRecordToVehicle(reminderRecord.ToReminderRecord()); diff --git a/Helper/ReminderHelper.cs b/Helper/ReminderHelper.cs index 0709b37..ec6eaa3 100644 --- a/Helper/ReminderHelper.cs +++ b/Helper/ReminderHelper.cs @@ -4,10 +4,28 @@ namespace CarCareTracker.Helper { public interface IReminderHelper { + ReminderRecord GetUpdatedRecurringReminderRecord(ReminderRecord existingReminder); List GetReminderRecordViewModels(List reminders, int currentMileage, DateTime dateCompare); } public class ReminderHelper: IReminderHelper { + public ReminderRecord GetUpdatedRecurringReminderRecord(ReminderRecord existingReminder) + { + if (existingReminder.Metric == ReminderMetric.Both) + { + existingReminder.Date = existingReminder.Date.AddMonths((int)existingReminder.ReminderMonthInterval); + existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; + } + else if (existingReminder.Metric == ReminderMetric.Odometer) + { + existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; + } + else if (existingReminder.Metric == ReminderMetric.Date) + { + existingReminder.Date = existingReminder.Date.AddMonths((int)existingReminder.ReminderMonthInterval); + } + return existingReminder; + } public List GetReminderRecordViewModels(List reminders, int currentMileage, DateTime dateCompare) { List reminderViewModels = new List(); diff --git a/Views/Vehicle/_ReminderRecords.cshtml b/Views/Vehicle/_ReminderRecords.cshtml index 6b2622a..e748ca7 100644 --- a/Views/Vehicle/_ReminderRecords.cshtml +++ b/Views/Vehicle/_ReminderRecords.cshtml @@ -1,4 +1,7 @@ @model List +@{ + var hasRefresh = Model.Where(x => x.Urgency == ReminderUrgency.VeryUrgent && x.IsRecurring).Any(); +}
@@ -25,8 +28,12 @@ Urgency Metric - Description + Description Notes + @if (hasRefresh) + { + Done + } Delete @@ -62,8 +69,17 @@ { @reminderRecord.Metric } - @reminderRecord.Description + @reminderRecord.Description @CarCareTracker.Helper.StaticHelper.TruncateStrings(reminderRecord.Notes) + @if (hasRefresh) + { + + @if(reminderRecord.Urgency == ReminderUrgency.VeryUrgent && reminderRecord.IsRecurring) + { + + } + + } diff --git a/wwwroot/js/reminderrecord.js b/wwwroot/js/reminderrecord.js index 1134cfa..eb2c7f7 100644 --- a/wwwroot/js/reminderrecord.js +++ b/wwwroot/js/reminderrecord.js @@ -81,6 +81,19 @@ function enableRecurring() { } } +function markDoneReminderRecord(reminderRecordId, e) { + event.stopPropagation(); + var vehicleId = GetVehicleId().vehicleId; + $.post(`/Vehicle/PushbackRecurringReminderRecord?reminderRecordId=${reminderRecordId}`, function (data) { + if (data) { + successToast("Reminder Updated"); + getVehicleReminders(vehicleId); + } else { + errorToast("An error has occurred, please try again later."); + } + }); +} + function getAndValidateReminderRecordValues() { var reminderDate = $("#reminderDate").val(); var reminderMileage = $("#reminderMileage").val();