colnod-connector/src/colnod/datamanager.cpp

56 lines
1.4 KiB
C++

#include "datamanager.h"
DataManager::DataManager()
{
db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12");
}
void DataManager::localSaveSubjects(QString response)
{
QJsonDocument doc = QJsonDocument::fromJson(response.toUtf8());
QJsonArray items = doc.object()["items"].toArray();
for (QJsonValueRef item : items)
{
auto subject = new Subject();
subject->fromJSON(item.toObject());
subjects.append(subject);
}
}
void DataManager::localSaveTokens(QString response)
{
QJsonDocument doc = QJsonDocument::fromJson(response.toUtf8());
QJsonArray items = doc.object()["items"].toArray();
for (QJsonValueRef item : items)
{
auto token = new Token();
token->fromJSON(item.toObject());
tokens.append(token);
}
}
void DataManager::pushDataToDB()
{
QSqlDatabase::database().transaction();
qDebug() << "In progress...";
int counter = 0;
for (auto subject : subjects)
{
if (db->saveSubject(subject, "subject"))
counter++;
db->saveSubjectAttribute(subject, "subject_attribute");
}
qDebug() << counter << " subjects has been updated";
counter = 0;
for (auto token : tokens)
{
if (db->saveToken(token, "token"))
counter++;
}
QSqlDatabase::database().commit();
qDebug() << counter << " tokens has been updated";
}