Ondřej Fischer 4fe612d11d bugs fix
2019-11-21 15:33:22 +01:00

37 lines
1.1 KiB
C++

#include "subject.h"
Subject::Subject(const QString &name)
{
setName(name);
}
bool Subject::fromJson(const QByteArray &data)
{
QJsonDocument doc = QJsonDocument::fromJson(data);
QJsonObject attr = doc.object()["attributes"].toObject()["items"].toObject();
auto id = doc.object()["id"].toString();
for (const auto &key : attr.keys()) {
auto newAtr = std::make_shared<SubjectAttribute>();
newAtr->setId(id + " " + key);
newAtr->setSubjectId(id);
newAtr->setAttributeKey(key);
newAtr->setAttributeValue(attr.value(key).toString());
attributes.append(newAtr);
}
QVariantMap variant = qvariant_cast<QVariantMap>(doc.toVariant());
auto lastUpdate = variant["lastUpdate"].toLongLong();
variant["lastUpdate"] = QDateTime::fromMSecsSinceEpoch(lastUpdate);
variant.insert("lastModified", QDateTime::fromMSecsSinceEpoch(lastUpdate));
// Populate this object data
bool res = fromVariantMap(variant);
return res;
}
QList<std::shared_ptr<SubjectAttribute> > Subject::getAttributes()
{
return attributes;
}