136 lines
3.5 KiB
C++
Executable File
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;
|
|
}
|
|
|
|
}
|