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;