From e0223b50f998eb4cb24e3d277bf2bd18351d903d Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Wed, 21 Feb 2024 09:31:13 +0100 Subject: [PATCH] Added helper getTimeRangeStep() (useful for progressive tariff as for neuhauser/kirchdorf (743) --- library/include/mobilisis/utilities.h | 1 + library/src/utilities.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/library/include/mobilisis/utilities.h b/library/include/mobilisis/utilities.h index 9d9e1ed..f190de5 100644 --- a/library/include/mobilisis/utilities.h +++ b/library/include/mobilisis/utilities.h @@ -90,6 +90,7 @@ namespace Utilities { uint32_t getMinimalParkingPrice(Configuration const *cfg, PaymentMethod methodId); uint32_t getMaximalParkingPrice(Configuration const *cfg, PaymentMethod methodId); uint32_t getFirstDurationStep(Configuration const *cfg, PaymentMethod methodId); + uint32_t getTimeRangeStep(Configuration const *cfg, int step, PaymentMethod methodId); BusinessHours getBusinessHours(Configuration const *cfg, PaymentMethod methodId); uint32_t computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id); double computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id); diff --git a/library/src/utilities.cpp b/library/src/utilities.cpp index 962f822..6e80075 100644 --- a/library/src/utilities.cpp +++ b/library/src/utilities.cpp @@ -397,6 +397,14 @@ uint32_t Utilities::getMaximalParkingPrice(Configuration const *cfg, PaymentMeth return std::max((int)cfg->PaymentOption.find(methodId)->second.pop_max_price, 0); } +uint32_t Utilities::getTimeRangeStep(Configuration const *cfg, int step, PaymentMethod methodId) { + if (methodId == PaymentMethod::Progressive) { + return std::max((int)cfg->TimeRange.find(step)->second.time_range_to_in_minutes_from_start, 0); + } + + return 0; +} + uint32_t Utilities::getFirstDurationStep(Configuration const *cfg, PaymentMethod methodId) { int const popId = cfg->PaymentOption.find(methodId)->second.pop_id;