From d95741baae559b15fe255191456a7b2099460de8 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Tue, 6 May 2025 11:57:36 +0200 Subject: [PATCH] compute_duration_for_parking_ticket(): Switch to different tariff based on product-type/product-id. --- library/src/calculate_price.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/library/src/calculate_price.cpp b/library/src/calculate_price.cpp index 157bcd8..2d34c7b 100644 --- a/library/src/calculate_price.cpp +++ b/library/src/calculate_price.cpp @@ -1135,6 +1135,10 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket( QDateTime &ticketEndTime, PermitType permitType) { + if (tariffs.count(permitType) > 0) { + tariff = tariffs[permitType].get(); + } + tariff->getPaymentOptions(0).pop_max_price = tariff->getPaymentOptions(0).pop_max_price_save; @@ -1142,8 +1146,15 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket( bool prepaid = true; + qCritical() << __func__ << ":" << __LINE__ << " permit type (int): " << static_cast(permitType); + qCritical() << __func__ << ":" << __LINE__ << "permit type (string): " << permitType.toString(); + qCritical() << __func__ << ":" << __LINE__ << " tariff-includes: " << tariff->getTariffIncludes(); + int paymentOptionIndex = getPaymentOptionIndex(*tariff, start_parking_time); + qCritical() << __func__ << ":" << __LINE__ << "payment option index: " << paymentOptionIndex; + + if (paymentOptionIndex == -1) { paymentOptionIndex = tariff->getPaymentOptionIndex(permitType); }