diff --git a/library/src/calculator_functions.cpp b/library/src/calculator_functions.cpp index a5f3c76..8038e0d 100644 --- a/library/src/calculator_functions.cpp +++ b/library/src/calculator_functions.cpp @@ -182,9 +182,8 @@ uint32_t Calculator::GetCostFromDuration(Configuration *cfg, quint64 timeStepInMinutes) const { // for instance, a tariff as used in Schoenau, Koenigssee: only steps, no // special days, nonstop. - if (cfg->YearPeriod.size() == 0 - && cfg->SpecialDays.size() == 0 - && cfg->SpecialDaysWorktime.size() == 0) { + static const PaymentMethod paymentMethodId = Utilities::getPaymentMethodId(cfg); + if (paymentMethodId == PaymentMethod::Steps) { QDateTime const end = start.addSecs(timeStepInMinutes*60); return GetCostFromDuration(cfg, start, end); } @@ -194,9 +193,8 @@ uint32_t Calculator::GetCostFromDuration(Configuration *cfg, uint32_t Calculator::GetCostFromDuration(Configuration * cfg, QDateTime const &start, QDateTime const &end) const { - if (cfg->YearPeriod.size() == 0 - && cfg->SpecialDays.size() == 0 - && cfg->SpecialDaysWorktime.size() == 0) { + static const PaymentMethod paymentMethodId = Utilities::getPaymentMethodId(cfg); + if (paymentMethodId == PaymentMethod::Steps) { int const timeStepInMinutes = start.secsTo(end) / 60; return GetPriceForTimeStep(cfg, timeStepInMinutes); }