From c6d396f34b5a55e1263006f7edef1e37e4e416a0 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Fri, 19 Jul 2024 14:01:27 +0200 Subject: [PATCH] Added handling for interpolation, carry over and prepaid. --- library/include/mobilisis/configuration.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/library/include/mobilisis/configuration.h b/library/include/mobilisis/configuration.h index f5f3f51..51be47e 100644 --- a/library/include/mobilisis/configuration.h +++ b/library/include/mobilisis/configuration.h @@ -25,6 +25,9 @@ #include "time_range_header.h" #include "tariff_timestep_config.h" #include "tariff_product.h" +#include "tariff_interpolation.h" +#include "tariff_prepaid.h" +#include "tariff_carryover.h" #include #include @@ -41,6 +44,9 @@ public: using TimeRangeType = std::multimap; using TariffProductType = std::multimap; using ATBPaymentOptionType = std::multimap; + using TariffInterpolationType = std::multimap; + using TariffPrepaidType = std::multimap; + using TariffCarryOverType = std::multimap; ATBProject project; ATBCurrency Currency; @@ -61,6 +67,9 @@ public: multimap TimeBase; multimap Customer; TariffProductType TariffProduct; + TariffInterpolationType TariffInterpolations; + TariffPrepaidType TariffPrepaidOptions; + TariffCarryOverType TariffCarryOverOptions; /// /// Parse JSON string @@ -85,6 +94,8 @@ public: std::optional> getPaymentRateForKey(int key) const; std::optional> getDailyTicketsForAllKeys() const; std::optional> getDailyTicketsForKey(int key) const; + std::optional getInterpolationType(int type) const; + std::optional getPrepaidType(int type) const; std::optional> getTariffProductForAllKeys() const; std::optional> getTariffProductForProductId(int id) const; std::optional> getTariffProductForProductId(PermitType permitType) const; @@ -92,6 +103,8 @@ public: std::optional getCustomerForType(ATBCustomer::CustomerType customerType); std::optional getWeekDayWorkTime(QTime const &time, Qt::DayOfWeek dayOfWeek); + std::optional adaptStart(QDateTime const &start, int prepaid_option_id); + private: /// /// Identify type of JSON member