From 10828e07082e6208ed1efb589c8441ad3144abab Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Fri, 19 Apr 2024 13:06:37 +0200 Subject: [PATCH] Add private mathods isParkingAllowedForWeekDay() and isParkingAllowedForSpecialDay(). Overload isParkingAllowed(). GetCostFromDuration(): add default parameter "int paymentOptionIndex=0" --- .../include/mobilisis/calculator_functions.h | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/library/include/mobilisis/calculator_functions.h b/library/include/mobilisis/calculator_functions.h index 2f72ca6..3ad5a03 100644 --- a/library/include/mobilisis/calculator_functions.h +++ b/library/include/mobilisis/calculator_functions.h @@ -17,6 +17,16 @@ class Calculator { mutable QVector> m_timeSteps; mutable QList m_priceSteps; + CalcState isParkingAllowedForWeekDay(Configuration const *cfg, + QDateTime const &start, + int netto_parking_time, + int paymentOptionIndex); + + CalcState isParkingAllowedForSpecialDay(Configuration const *cfg, + QDateTime const &start, + int netto_parking_time, + int paymentOptionIndex); + protected: explicit Calculator() = default; @@ -44,7 +54,13 @@ public: void ResetPriceSteps() { m_priceSteps.clear(); } QList priceSteps() const { return m_priceSteps; } - CalcState isParkingAllowed(Configuration const *cfg, QDateTime const &start); + CalcState isParkingAllowed(Configuration const *cfg, + QDateTime const &start); + + CalcState isParkingAllowed(Configuration const *cfg, + QDateTime const &start, + int netto_parking_time, + int paymentOptionIndex); /// /// Gets duration in seconds from cost @@ -96,8 +112,8 @@ public: // testing public: // Introduced for PaymentMethod::Steps (e.g. Schoenau) // For tariff of following structure: only steps, no special days, nonstop. - uint32_t GetCostFromDuration(Configuration *cfg, QDateTime const &start, quint64 durationMinutes) const; - uint32_t GetCostFromDuration(Configuration *cfg, QDateTime const &start, QDateTime const &end) const; + uint32_t GetCostFromDuration(Configuration *cfg, QDateTime const &start, quint64 durationMinutes, int paymentOptionIndex=0) const; + uint32_t GetCostFromDuration(Configuration *cfg, QDateTime const &start, QDateTime const &end, int paymentOptionIndex=0) const; private: Ticket private_GetCostFromDuration(Configuration const* cfg, @@ -113,7 +129,7 @@ private: int durationMinutes); // - uint32_t GetPriceForTimeStep(Configuration *cfg, int timeStep) const; + uint32_t GetPriceForTimeStep(Configuration *cfg, int timeStep, int paymentOptionIndex=0) const; uint32_t GetPriceForStep(Configuration *cfg, int step) const { return GetPriceForTimeStep(cfg, step); }