static std::string TraffTypeToString(TRAFF_TYPE type);
static TRAFF_TYPE StringToTraffType(const std::string& value);
+ static TRAFF_TYPE IntToTraffType(int value);
virtual ~TARIFF() {}
virtual double GetPriceWithTraffType(uint64_t up,
return stream;
}
+inline
+TARIFF::TRAFF_TYPE TARIFF::IntToTraffType(int value)
+{
+ if (value < 0 || value > TRAFF_MAX)
+ return TRAFF_UP_DOWN;
+ return static_cast<TRAFF_TYPE>(value);
+}
+
#endif
st->Get(3, td->tariffConf.fee);
st->Get(4, td->tariffConf.free);
st->Get(5, td->tariffConf.passiveCost);
- st->Get(6, td->tariffConf.traffType);
+ //st->Get(6, td->tariffConf.traffType);
+ td->tariffConf.traffType = TARIFF::IntToTraffType(Get<int>(st, 6));
if (schemaVersion > 0)
- {
- std::string period;
- st->Get(7, period);
- td->tariffConf.period = TARIFF::StringToPeriod(period);
- }
+ td->tariffConf.period = TARIFF::StringToPeriod(Get<std::string>(st, 7));
st->Close();
st->Prepare("select * from tb_tariffs_params where fk_tariff = ?");
st->Set(1, id);