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); +} +