Removed local variable PaymentOption. Replaced by usage of currentPaymentOption-vector.
This commit is contained in:
parent
dbcd27b377
commit
c799c24658
@ -87,7 +87,6 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
ATBSpecialDays SpecialDays;
|
ATBSpecialDays SpecialDays;
|
||||||
ATBWeekDays WeekDays;
|
ATBWeekDays WeekDays;
|
||||||
ATBWeekDaysWorktime WeekDaysWorktime;
|
ATBWeekDaysWorktime WeekDaysWorktime;
|
||||||
ATBPaymentOption PaymentOption;
|
|
||||||
ATBPeriodYear YearPeriod;
|
ATBPeriodYear YearPeriod;
|
||||||
ATBDailyTicket DailyTicket;
|
ATBDailyTicket DailyTicket;
|
||||||
ATBTimeBase TimeBase;
|
ATBTimeBase TimeBase;
|
||||||
@ -96,6 +95,7 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
ATBTimeStepConfig TimeStepConfig;
|
ATBTimeStepConfig TimeStepConfig;
|
||||||
|
|
||||||
MemberType mb_type = MemberType::UnknownType;
|
MemberType mb_type = MemberType::UnknownType;
|
||||||
|
this->currentPaymentOptions.clear();
|
||||||
|
|
||||||
// Get all JSON object members
|
// Get all JSON object members
|
||||||
// This code should run only once (to load JSON variables into memory)
|
// This code should run only once (to load JSON variables into memory)
|
||||||
@ -320,22 +320,37 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
else if (strcmp(inner_obj_name, "pra_price") == 0) PaymentRate.pra_price = k->value.GetDouble();
|
else if (strcmp(inner_obj_name, "pra_price") == 0) PaymentRate.pra_price = k->value.GetDouble();
|
||||||
break;
|
break;
|
||||||
case MemberType::PaymentOptionType:
|
case MemberType::PaymentOptionType:
|
||||||
if (strcmp(inner_obj_name, "pop_id") == 0) PaymentOption.pop_id = k->value.GetInt();
|
if (strcmp(inner_obj_name, "pop_id") == 0) {
|
||||||
else if (strcmp(inner_obj_name, "pop_label") == 0) PaymentOption.pop_label = k->value.GetString();
|
this->currentPaymentOptions.append(ATBPaymentOption());
|
||||||
else if (strcmp(inner_obj_name, "pop_payment_method_id") == 0) PaymentOption.pop_payment_method_id = k->value.GetInt();
|
this->currentPaymentOptions.last().reset();
|
||||||
else if (strcmp(inner_obj_name, "pop_day_end_time") == 0) PaymentOption.pop_day_end_time = k->value.GetString();
|
this->currentPaymentOptions.last().pop_id = k->value.GetInt();
|
||||||
else if (strcmp(inner_obj_name, "pop_day_night_end_time") == 0) PaymentOption.pop_day_night_end_time = k->value.GetString();
|
} else if (strcmp(inner_obj_name, "pop_label") == 0) {
|
||||||
else if (strcmp(inner_obj_name, "pop_price_night") == 0) PaymentOption.pop_price_night = k->value.GetDouble();
|
this->currentPaymentOptions.last().pop_label = k->value.GetString();
|
||||||
else if (strcmp(inner_obj_name, "pop_min_time") == 0) PaymentOption.pop_min_time = k->value.GetDouble();
|
} else if (strcmp(inner_obj_name, "pop_payment_method_id") == 0) {
|
||||||
else if (strcmp(inner_obj_name, "pop_max_time") == 0) PaymentOption.pop_max_time = k->value.GetDouble();
|
this->currentPaymentOptions.last().pop_payment_method_id = k->value.GetInt();
|
||||||
else if (strcmp(inner_obj_name, "pop_min_price") == 0) PaymentOption.pop_min_price = k->value.GetDouble();
|
} else if (strcmp(inner_obj_name, "pop_day_end_time") == 0) {
|
||||||
else if (strcmp(inner_obj_name, "pop_carry_over") == 0) PaymentOption.pop_carry_over = k->value.GetInt();
|
this->currentPaymentOptions.last().pop_day_end_time = k->value.GetString();
|
||||||
else if (strcmp(inner_obj_name, "pop_carry_over_time_range_id") == 0) PaymentOption.pop_carry_over_time_range_id = k->value.GetInt();
|
} else if (strcmp(inner_obj_name, "pop_day_night_end_time") == 0) {
|
||||||
else if (strcmp(inner_obj_name, "pop_daily_card_price") == 0) PaymentOption.pop_daily_card_price = k->value.GetInt();
|
this->currentPaymentOptions.last().pop_day_night_end_time = k->value.GetString();
|
||||||
else if (strcmp(inner_obj_name, "pop_business_hours") == 0) PaymentOption.pop_business_hours = k->value.GetInt();
|
} else if (strcmp(inner_obj_name, "pop_price_night") == 0) {
|
||||||
else if (strcmp(inner_obj_name, "pop_time_step_config") == 0) PaymentOption.pop_time_step_config = k->value.GetInt();
|
this->currentPaymentOptions.last().pop_price_night = k->value.GetDouble();
|
||||||
this->currentPaymentOptions.append(PaymentOption);
|
} else if (strcmp(inner_obj_name, "pop_min_time") == 0) {
|
||||||
PaymentOption.reset();
|
this->currentPaymentOptions.last().pop_min_time = k->value.GetDouble();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_max_time") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_max_time = k->value.GetDouble();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_min_price") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_min_price = k->value.GetDouble();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_carry_over") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_carry_over = k->value.GetInt();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_carry_over_time_range_id") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_carry_over_time_range_id = k->value.GetInt();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_daily_card_price") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_daily_card_price = k->value.GetInt();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_business_hours") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_business_hours = k->value.GetInt();
|
||||||
|
} else if (strcmp(inner_obj_name, "pop_time_step_config") == 0) {
|
||||||
|
this->currentPaymentOptions.last().pop_time_step_config = k->value.GetInt();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MemberType::DurationType:
|
case MemberType::DurationType:
|
||||||
if (strcmp(inner_obj_name, "pun_id") == 0) Duration.pun_id = k->value.GetInt();
|
if (strcmp(inner_obj_name, "pun_id") == 0) Duration.pun_id = k->value.GetInt();
|
||||||
@ -397,9 +412,12 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
// qCritical() << "PaymentRate" << PaymentRate;
|
// qCritical() << "PaymentRate" << PaymentRate;
|
||||||
cfg->PaymentRate.insert(pair<int, ATBPaymentRate>(PaymentRate.pra_payment_option_id, PaymentRate));
|
cfg->PaymentRate.insert(pair<int, ATBPaymentRate>(PaymentRate.pra_payment_option_id, PaymentRate));
|
||||||
break;
|
break;
|
||||||
case MemberType::PaymentOptionType:
|
case MemberType::PaymentOptionType: {
|
||||||
|
if (!this->currentPaymentOptions.isEmpty()) {
|
||||||
|
ATBPaymentOption const &PaymentOption = this->currentPaymentOptions.last();
|
||||||
cfg->PaymentOption.insert(pair<int, ATBPaymentOption>(PaymentOption.pop_payment_method_id, PaymentOption));
|
cfg->PaymentOption.insert(pair<int, ATBPaymentOption>(PaymentOption.pop_payment_method_id, PaymentOption));
|
||||||
break;
|
}
|
||||||
|
} break;
|
||||||
case MemberType::DurationType:
|
case MemberType::DurationType:
|
||||||
cfg->Duration.insert(pair<int, ATBDuration>(Duration.pun_id, Duration));
|
cfg->Duration.insert(pair<int, ATBDuration>(Duration.pun_id, Duration));
|
||||||
break;
|
break;
|
||||||
@ -453,10 +471,12 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ATBPaymentOption const &Configuration::getPaymentOptions() const {
|
ATBPaymentOption const &Configuration::getPaymentOptions() const {
|
||||||
|
Q_ASSERT(!this->currentPaymentOptions.isEmpty());
|
||||||
return this->currentPaymentOptions.at(0);
|
return this->currentPaymentOptions.at(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
ATBPaymentOption &Configuration::getPaymentOptions() {
|
ATBPaymentOption &Configuration::getPaymentOptions() {
|
||||||
|
Q_ASSERT(!this->currentPaymentOptions.isEmpty());
|
||||||
return this->currentPaymentOptions[0];
|
return this->currentPaymentOptions[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user