diff --git a/library/src/utilities.cpp b/library/src/utilities.cpp index c02c6a5..2ac7ddd 100644 --- a/library/src/utilities.cpp +++ b/library/src/utilities.cpp @@ -354,22 +354,24 @@ bool Utilities::isCarryOverNotSet(Configuration const *cfg, PaymentMethod paymen } PaymentMethod Utilities::getPaymentMethodId(Configuration const *cfg) { - if (cfg->PaymentOption.size() != 1) { + if (cfg->PaymentOption.size() == 0) { return PaymentMethod::Undefined; } std::multimap::const_iterator it = cfg->PaymentOption.cbegin(); - switch (it->first) { - case PaymentMethod::Linear: - return PaymentMethod::Linear; - case PaymentMethod::Steps: - return PaymentMethod::Steps; - case PaymentMethod::Degressive: - return PaymentMethod::Degressive; - case PaymentMethod::Progressive: - return PaymentMethod::Progressive; + if (it != cfg->PaymentOption.cend()) { + switch (it->first) { + case PaymentMethod::Linear: + return PaymentMethod::Linear; + case PaymentMethod::Steps: + return PaymentMethod::Steps; + case PaymentMethod::Degressive: + return PaymentMethod::Degressive; + case PaymentMethod::Progressive: + return PaymentMethod::Progressive; + } } return PaymentMethod::Undefined;