#pragma once #include enum class MaterialStatus { Active, Off }; inline QString materialStatusToString(const MaterialStatus status) { switch (status) { case MaterialStatus::Active: return "active"; case MaterialStatus::Off: return "off"; default: return "active"; } } inline QString materialStatusToUiString(const MaterialStatus status) { switch (status) { case MaterialStatus::Active: return "в работе"; case MaterialStatus::Off: return "выключена"; default: return "в работе"; } } inline MaterialStatus materialStatusFromString(const QString &str) { if (str == "active") return MaterialStatus::Active; if (str == "off") return MaterialStatus::Off; return MaterialStatus::Active; } struct MaterialInfo { int id = -1; QString deviceId; // code QString appCode; QString lastNumbers; QString cardNumber; // full 16-digit card number QString accountNumber; // full bank account number (IBAN-like) QString materialId; QString currency; QString description; double amount = 0.0; QDateTime updateTime; MaterialStatus status = MaterialStatus::Off; };