From 178b50a033196a640b535eb52a7144a6d1a03d6c Mon Sep 17 00:00:00 2001 From: "DESKTOP-GENO133\\IvanPlex" Date: Tue, 30 Jan 2024 17:15:21 -0700 Subject: [PATCH] added ability for user to define custom mileage intervals. --- Controllers/VehicleController.cs | 3 ++- Enum/ReminderMileageInterval.cs | 1 + Helper/ReminderHelper.cs | 17 ++++++++++-- Models/Reminder/ReminderRecord.cs | 1 + Models/Reminder/ReminderRecordInput.cs | 2 ++ Views/Vehicle/Index.cshtml | 2 +- Views/Vehicle/_ReminderRecordModal.cshtml | 6 +++-- wwwroot/js/reminderrecord.js | 33 ++++++++++++++++++++++- 8 files changed, 58 insertions(+), 7 deletions(-) diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index 39a6587..3c57bcc 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -1309,7 +1309,8 @@ namespace CarCareTracker.Controllers Metric = result.Metric, IsRecurring = result.IsRecurring, ReminderMileageInterval = result.ReminderMileageInterval, - ReminderMonthInterval = result.ReminderMonthInterval + ReminderMonthInterval = result.ReminderMonthInterval, + CustomMileageInterval = result.CustomMileageInterval }; return PartialView("_ReminderRecordModal", convertedResult); } diff --git a/Enum/ReminderMileageInterval.cs b/Enum/ReminderMileageInterval.cs index 824664c..dcf2204 100644 --- a/Enum/ReminderMileageInterval.cs +++ b/Enum/ReminderMileageInterval.cs @@ -2,6 +2,7 @@ { public enum ReminderMileageInterval { + Other = 0, FiftyMiles = 50, OneHundredMiles = 100, FiveHundredMiles = 500, diff --git a/Helper/ReminderHelper.cs b/Helper/ReminderHelper.cs index ec6eaa3..342857f 100644 --- a/Helper/ReminderHelper.cs +++ b/Helper/ReminderHelper.cs @@ -14,11 +14,24 @@ namespace CarCareTracker.Helper if (existingReminder.Metric == ReminderMetric.Both) { existingReminder.Date = existingReminder.Date.AddMonths((int)existingReminder.ReminderMonthInterval); - existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; + if (existingReminder.ReminderMileageInterval != ReminderMileageInterval.Other) + { + existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; + } + else + { + existingReminder.Mileage += existingReminder.CustomMileageInterval; + } } else if (existingReminder.Metric == ReminderMetric.Odometer) { - existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; + if (existingReminder.ReminderMileageInterval != ReminderMileageInterval.Other) + { + existingReminder.Mileage += (int)existingReminder.ReminderMileageInterval; + } else + { + existingReminder.Mileage += existingReminder.CustomMileageInterval; + } } else if (existingReminder.Metric == ReminderMetric.Date) { diff --git a/Models/Reminder/ReminderRecord.cs b/Models/Reminder/ReminderRecord.cs index 96ab3f0..31480b6 100644 --- a/Models/Reminder/ReminderRecord.cs +++ b/Models/Reminder/ReminderRecord.cs @@ -9,6 +9,7 @@ public string Description { get; set; } public string Notes { get; set; } public bool IsRecurring { get; set; } = false; + public int CustomMileageInterval { get; set; } = 0; public ReminderMileageInterval ReminderMileageInterval { get; set; } = ReminderMileageInterval.FiveThousandMiles; public ReminderMonthInterval ReminderMonthInterval { get; set; } = ReminderMonthInterval.OneYear; public ReminderMetric Metric { get; set; } = ReminderMetric.Date; diff --git a/Models/Reminder/ReminderRecordInput.cs b/Models/Reminder/ReminderRecordInput.cs index 5694afb..61e770a 100644 --- a/Models/Reminder/ReminderRecordInput.cs +++ b/Models/Reminder/ReminderRecordInput.cs @@ -9,6 +9,7 @@ public string Description { get; set; } public string Notes { get; set; } public bool IsRecurring { get; set; } = false; + public int CustomMileageInterval { get; set; } = 0; public ReminderMileageInterval ReminderMileageInterval { get; set; } = ReminderMileageInterval.FiveThousandMiles; public ReminderMonthInterval ReminderMonthInterval { get; set; } = ReminderMonthInterval.OneYear; public ReminderMetric Metric { get; set; } = ReminderMetric.Date; @@ -22,6 +23,7 @@ IsRecurring = IsRecurring, ReminderMileageInterval = ReminderMileageInterval, ReminderMonthInterval = ReminderMonthInterval, + CustomMileageInterval = CustomMileageInterval, Notes = Notes }; } } } diff --git a/Views/Vehicle/Index.cshtml b/Views/Vehicle/Index.cshtml index 0a71ebd..40b8a45 100644 --- a/Views/Vehicle/Index.cshtml +++ b/Views/Vehicle/Index.cshtml @@ -148,7 +148,7 @@ -