From 4c1cd4586661be4ef091bc5dad4b9c9d73a50c6c Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Tue, 30 Jan 2024 10:41:29 +0100 Subject: [PATCH] Implemented compute_price_for_daily_ticket(). --- library/src/calculate_price.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/library/src/calculate_price.cpp b/library/src/calculate_price.cpp index a385b42..77c9e72 100644 --- a/library/src/calculate_price.cpp +++ b/library/src/calculate_price.cpp @@ -497,3 +497,27 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_daily_ticket(parking_tariff return calcState.set(CalcState::State::SUCCESS); } + +CalcState CALCULATE_LIBRARY_API compute_price_for_daily_ticket( + parking_tariff_t *tariff, + QDateTime const &startDatetime, + QDateTime &endDatetime, + PERMIT_TYPE permitType, + struct price_t *price) {// return value + CalcState calcState; + + + if (startDatetime.isValid()) { + if (std::optional p = + Calculator::GetInstance().GetDailyTicketPrice(tariff, + startDatetime, + endDatetime, + permitType)) { + *price = p.value(); + } + } else { + return calcState.set(CalcState::State::INVALID_START_DATE); + } + return calcState.set(CalcState::State::SUCCESS); +} +