Files
qt6-migration-pipeline/Z/src/WMS_Interface/wms_ecc_exercises.cpp
T
2026-07-14 12:07:36 +02:00

136 lines
3.5 KiB
C++
Executable File

#include "wms_ecc_exercises.h"
#include <QJsonArray>
#include <QJsonObject>
namespace EXCON
{
QJsonObject Exercises::toJson(const IWMS2ECC::Exercise &ex) const
{
QJsonObject obj;
obj[QLatin1String("id")] = ex.id;
obj[QLatin1String("actExercise")] = ex.actExercise;
obj[QLatin1String("start")] = static_cast<qint64>(ex.start);
obj[QLatin1String("end")] = static_cast<qint64>(ex.end);
obj[QLatin1String("name")] = ex.name;
obj[QLatin1String("state")] = ex.stateAsString;
obj[QLatin1String("ok")] = m_ok;
return obj;
}
IWMS2ECC::Exercise Exercises::fromJson(const QJsonObject &obj)
{
IWMS2ECC::Exercise ex;
ex.id = obj[QLatin1String("id")].toInt();
ex.actExercise = obj[QLatin1String("actExercise")].toInt();
ex.start = static_cast<time_t>(obj[QLatin1String("start")].toInt());
ex.end = static_cast<time_t>(obj[QLatin1String("end")].toInt());
ex.name = obj[QLatin1String("name")].toString();
ex.stateAsString = obj[QLatin1String("state")].toString();
return ex;
}
QJsonObject Exercises::toJsonAll() const
{
QJsonArray arr;
for (const IWMS2ECC::Exercise &ex : m_exercises)
arr.append(toJson(ex));
QJsonObject obj;
obj[QLatin1String("exMap")] = arr;
obj[QLatin1String("ok")] = m_ok;
return obj;
}
Exercises Exercises::fromJsonAll(const QJsonObject &map)
{
Exercises ex;
const QJsonArray arr = map[QLatin1String("exMap")].toArray();
for (const QJsonValue &val : arr)
{
const IWMS2ECC::Exercise exinfo = fromJson(val.toObject());
ex.m_exercises.insert(exinfo.id, exinfo);
}
ex.m_ok = map[QLatin1String("ok")].toBool();
return ex;
}
QVariantMap Exercises::toVariantMap() const
{
QVariantMap vMap;
vMap[QLatin1String("id")] = QVariant(m_exercise.id);
vMap[QLatin1String("name")] = m_exercise.name;
vMap[QLatin1String("start")] = QVariant(static_cast<qint64>(m_exercise.start));
vMap[QLatin1String("end")] = QVariant(static_cast<qint64>(m_exercise.end));
vMap[QLatin1String("state")] = m_exercise.stateAsString;
vMap[QLatin1String("ok")] = QVariant(m_ok);
return vMap;
}
Exercises Exercises::fromVariantMap(const QVariantMap &map)
{
Exercises ex;
ex.m_exercise.id = map[QLatin1String("id")].toInt();
ex.m_exercise.name = map[QLatin1String("name")].toString();
ex.m_exercise.start = map[QLatin1String("start")].toLongLong();
ex.m_exercise.end = map[QLatin1String("end")].toLongLong();
ex.m_exercise.stateAsString = map[QLatin1String("state")].toString();
ex.m_ok = map[QLatin1String("ok")].toBool();
return ex;
}
QVariantMap Exercises::toVariantMapAll() const
{
QVariantMap vMap;
for (IWMS2ECC::exerciseMap::ConstIterator it = m_exercises.begin(); it != m_exercises.end(); ++it)
{
m_exercise = it.value();
vMap.insert(QString::number(it.key()), QVariant(toVariantMap()));
}
QVariantMap retMap;
retMap[QLatin1String("exeMap")] = QVariant(vMap);
retMap[QLatin1String("ok")] = QVariant(m_ok);
return retMap;
}
Exercises Exercises::fromVariantMapAll(const QVariantMap &map)
{
Exercises ex;
const QVariantMap vMap = map[QLatin1String("exeMap")].toMap();
for (QVariantMap::ConstIterator it = vMap.begin(); it != vMap.end(); ++it)
{
int key = it.key().toInt();
IWMS2ECC::Exercise e = Exercises::fromVariantMap(it.value().toMap()).m_exercise;
ex.m_exercises.insert(key, e);
}
ex.m_ok = map[QLatin1String("ok")].toBool();
return ex;
}
}