Use free function getPaymentOptionIndex() in serveral places to compute valid
index of a payment-option-section within tariff file. If this is not possible, then try the already available functionality.
This commit is contained in:
parent
349e9d8b06
commit
52ebbf7bc9
@ -36,7 +36,10 @@ int CALCULATE_LIBRARY_API get_minimal_parkingtime(Configuration const *cfg,
|
|||||||
int paymentOptionIndex) {
|
int paymentOptionIndex) {
|
||||||
int minTime = 0;
|
int minTime = 0;
|
||||||
|
|
||||||
|
paymentOptionIndex = getPaymentOptionIndex(*cfg);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
qCritical() << __func__ << __LINE__ << "paymentOptionIndex" << paymentOptionIndex;
|
qCritical() << __func__ << __LINE__ << "paymentOptionIndex" << paymentOptionIndex;
|
||||||
qCritical() << __func__ << __LINE__ << "permit" << PermitType(permitType).toString();
|
qCritical() << __func__ << __LINE__ << "permit" << PermitType(permitType).toString();
|
||||||
@ -69,7 +72,10 @@ int CALCULATE_LIBRARY_API get_maximal_parkingtime(Configuration const *cfg,
|
|||||||
PERMIT_TYPE permitType,
|
PERMIT_TYPE permitType,
|
||||||
int paymentOptionIndex) {
|
int paymentOptionIndex) {
|
||||||
|
|
||||||
|
paymentOptionIndex = getPaymentOptionIndex(*cfg);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
int maxTime = 0;
|
int maxTime = 0;
|
||||||
|
|
||||||
switch(permitType) {
|
switch(permitType) {
|
||||||
@ -94,7 +100,10 @@ int CALCULATE_LIBRARY_API get_minimal_parkingprice(Configuration *cfg,
|
|||||||
int paymentOptionIndex,
|
int paymentOptionIndex,
|
||||||
QDateTime const &start) {
|
QDateTime const &start) {
|
||||||
int minPrice = -1;
|
int minPrice = -1;
|
||||||
|
|
||||||
|
if ((paymentOptionIndex = getPaymentOptionIndex(*cfg)) == -1) {
|
||||||
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
int payment_method_id = cfg->getPaymentOptions(paymentOptionIndex).pop_payment_method_id;
|
int payment_method_id = cfg->getPaymentOptions(paymentOptionIndex).pop_payment_method_id;
|
||||||
|
|
||||||
@ -321,7 +330,9 @@ int CALCULATE_LIBRARY_API get_maximal_parkingprice(Configuration *cfg,
|
|||||||
int maxPrice = -1;
|
int maxPrice = -1;
|
||||||
static const PaymentMethod paymentMethodId = Utilities::getPaymentMethodId(cfg);
|
static const PaymentMethod paymentMethodId = Utilities::getPaymentMethodId(cfg);
|
||||||
|
|
||||||
|
if ((paymentOptionIndex = getPaymentOptionIndex(*cfg)) == -1) {
|
||||||
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
paymentOptionIndex = cfg->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
switch(permitType) {
|
switch(permitType) {
|
||||||
case PERMIT_TYPE::SHORT_TERM_PARKING: { // e.g. szeged (customer_281)
|
case PERMIT_TYPE::SHORT_TERM_PARKING: { // e.g. szeged (customer_281)
|
||||||
@ -474,7 +485,11 @@ int CALCULATE_LIBRARY_API compute_next_timestep(parking_tariff_t *tariff, int cu
|
|||||||
// return currentTimeMinutes;
|
// return currentTimeMinutes;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
int const paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
int paymentOptionIndex = getPaymentOptionIndex(*tariff);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
|
paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
int const &pop_plus_steps = tariff->getPaymentOptions(paymentOptionIndex).pop_plus_steps;
|
int const &pop_plus_steps = tariff->getPaymentOptions(paymentOptionIndex).pop_plus_steps;
|
||||||
int const &pop_minus_steps = tariff->getPaymentOptions(paymentOptionIndex).pop_minus_steps;
|
int const &pop_minus_steps = tariff->getPaymentOptions(paymentOptionIndex).pop_minus_steps;
|
||||||
|
|
||||||
@ -654,7 +669,10 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
|
|||||||
|
|
||||||
CalcState calcState;
|
CalcState calcState;
|
||||||
|
|
||||||
int const paymentOptionIndex = tariff->getPaymentOptionIndex(permitType.get());
|
int paymentOptionIndex = getPaymentOptionIndex(*tariff);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
|
paymentOptionIndex = tariff->getPaymentOptionIndex(permitType.get());
|
||||||
|
}
|
||||||
|
|
||||||
double minMin = tariff->PaymentOption.find(tariff->getPaymentOptions(paymentOptionIndex).pop_payment_method_id)->second.pop_min_time;
|
double minMin = tariff->PaymentOption.find(tariff->getPaymentOptions(paymentOptionIndex).pop_payment_method_id)->second.pop_min_time;
|
||||||
double maxMin = tariff->PaymentOption.find(tariff->getPaymentOptions(paymentOptionIndex).pop_payment_method_id)->second.pop_max_time;
|
double maxMin = tariff->PaymentOption.find(tariff->getPaymentOptions(paymentOptionIndex).pop_payment_method_id)->second.pop_max_time;
|
||||||
@ -721,7 +739,10 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
|
|||||||
|
|
||||||
QDateTime start_parking_time(start_parking_time_);
|
QDateTime start_parking_time(start_parking_time_);
|
||||||
|
|
||||||
int paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
int paymentOptionIndex = getPaymentOptionIndex(*tariff);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
|
paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
double minMin = tariff->getPaymentOptions(paymentOptionIndex).pop_min_time;
|
double minMin = tariff->getPaymentOptions(paymentOptionIndex).pop_min_time;
|
||||||
double maxMin = tariff->getPaymentOptions(paymentOptionIndex).pop_max_time;
|
double maxMin = tariff->getPaymentOptions(paymentOptionIndex).pop_max_time;
|
||||||
@ -873,7 +894,11 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
|
|||||||
QString cs = start.toString(Qt::ISODate);
|
QString cs = start.toString(Qt::ISODate);
|
||||||
|
|
||||||
bool prepaid = true;
|
bool prepaid = true;
|
||||||
int paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
int paymentOptionIndex = getPaymentOptionIndex(*tariff);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
|
paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
int prepaid_option_id = tariff->getPaymentOptions(paymentOptionIndex).pop_prepaid_option_id;
|
int prepaid_option_id = tariff->getPaymentOptions(paymentOptionIndex).pop_prepaid_option_id;
|
||||||
if (prepaid_option_id == 2) { // see tariff03.json for 502: 2 means no prepaid-option
|
if (prepaid_option_id == 2) { // see tariff03.json for 502: 2 means no prepaid-option
|
||||||
prepaid = false;
|
prepaid = false;
|
||||||
@ -913,7 +938,14 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
|
|||||||
CalcState calcState;
|
CalcState calcState;
|
||||||
|
|
||||||
bool prepaid = true;
|
bool prepaid = true;
|
||||||
int paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
|
||||||
|
int paymentOptionIndex = getPaymentOptionIndex(*tariff);
|
||||||
|
if (paymentOptionIndex == -1) {
|
||||||
|
paymentOptionIndex = tariff->getPaymentOptionIndex(permitType);
|
||||||
|
}
|
||||||
|
|
||||||
|
qCritical() << __func__ << ":" << __LINE__ << " payment option index: " << paymentOptionIndex;
|
||||||
|
|
||||||
int prepaid_option_id = tariff->getPaymentOptions(paymentOptionIndex).pop_prepaid_option_id;
|
int prepaid_option_id = tariff->getPaymentOptions(paymentOptionIndex).pop_prepaid_option_id;
|
||||||
|
|
||||||
if (prepaid_option_id == 2) {
|
if (prepaid_option_id == 2) {
|
||||||
|
Loading…
Reference in New Issue
Block a user