Upgrade to version 4
This commit is contained in:
75
version4upgrader.cpp
Normal file
75
version4upgrader.cpp
Normal file
@@ -0,0 +1,75 @@
|
||||
#include "version4upgrader.h"
|
||||
|
||||
Version4Upgrader::Version4Upgrader()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QJsonObject Version4Upgrader::UpgradeDay(QJsonObject day)
|
||||
{
|
||||
if (!day["validate"].toBool(false)) {
|
||||
day["not_working"] = true;
|
||||
} else {
|
||||
day["not_working"] = false;
|
||||
}
|
||||
return day;
|
||||
}
|
||||
|
||||
QJsonObject Version4Upgrader::UpgradeDayTemplate(QJsonObject day)
|
||||
{
|
||||
day["not_working"] = false;
|
||||
return day;
|
||||
}
|
||||
|
||||
QJsonObject Version4Upgrader::UpgradeTemplate(QJsonObject week)
|
||||
{
|
||||
QJsonObject newTemplate;
|
||||
newTemplate["monday"] = UpgradeDayTemplate(week["monday"].toObject());
|
||||
newTemplate["tuesday"] = UpgradeDayTemplate(week["tuesday"].toObject());
|
||||
newTemplate["wednesday"] = UpgradeDayTemplate(week["wednesday"].toObject());
|
||||
newTemplate["thurday"] = UpgradeDayTemplate(week["thurday"].toObject());
|
||||
newTemplate["friday"] = UpgradeDayTemplate(week["friday"].toObject());
|
||||
newTemplate["weekNumber"] = week["weekNumber"].toInt();
|
||||
return newTemplate;
|
||||
}
|
||||
|
||||
QJsonArray Version4Upgrader::UpgradeWeeks(QJsonArray weeks)
|
||||
{
|
||||
QJsonArray newWeeks;
|
||||
foreach (QJsonValue value, weeks) {
|
||||
QJsonObject week = value.toObject();
|
||||
QJsonObject newWeek;
|
||||
newWeek["monday"] = UpgradeDay(week["monday"].toObject());
|
||||
newWeek["tuesday"] = UpgradeDay(week["tuesday"].toObject());
|
||||
newWeek["wednesday"] = UpgradeDay(week["wednesday"].toObject());
|
||||
newWeek["thurday"] = UpgradeDay(week["thurday"].toObject());
|
||||
newWeek["friday"] = UpgradeDay(week["friday"].toObject());
|
||||
newWeek["weekNumber"] = week["weekNumber"].toInt();
|
||||
newWeeks.append(newWeek);
|
||||
}
|
||||
return newWeeks;
|
||||
}
|
||||
|
||||
QJsonArray Version4Upgrader::UpgradeYears(QJsonArray years)
|
||||
{
|
||||
QJsonArray newYears;
|
||||
foreach (QJsonValue year, years) {
|
||||
QJsonObject newYear;
|
||||
newYear["number"] = year["number"];
|
||||
newYear["weeks"] = UpgradeWeeks(year["weeks"].toArray());
|
||||
newYears.append(newYear);
|
||||
}
|
||||
return newYears;
|
||||
}
|
||||
|
||||
QJsonObject Version4Upgrader::Upgrade(QJsonObject old)
|
||||
{
|
||||
if (old["version"].toInt() == 3) {
|
||||
QJsonObject newVersion;
|
||||
newVersion["version"] = 4;
|
||||
newVersion["template"] = UpgradeTemplate(old["template"].toObject());
|
||||
newVersion["years"] = UpgradeYears(old["years"].toArray());
|
||||
return newVersion;
|
||||
}
|
||||
return old;
|
||||
}
|
||||
Reference in New Issue
Block a user