1
0
forked from BRT/arc
arc/models/db/MaterialInfo.h

45 lines
1.2 KiB
C

#pragma once
#include <QDateTime>
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;
};