78 lines
1.2 KiB
C++
78 lines
1.2 KiB
C++
#include "year.h"
|
|
|
|
Year::Year()
|
|
{
|
|
|
|
}
|
|
|
|
Year::Year(Year *old)
|
|
{
|
|
this->number = old->number;
|
|
foreach (int weekNumber, old->weeks.keys()) {
|
|
weeks[weekNumber] = new Week(old->weeks[weekNumber]);
|
|
}
|
|
}
|
|
|
|
Year::~Year()
|
|
{
|
|
foreach (Week *w, weeks) {
|
|
delete w;
|
|
}
|
|
weeks.clear();
|
|
}
|
|
|
|
Year::Year(int number)
|
|
{
|
|
this->number = number;
|
|
}
|
|
|
|
Year* Year::from_json(QJsonObject obj)
|
|
{
|
|
Year *result = new Year();
|
|
result->number = obj[KEY_NUMBER].toInt();
|
|
QJsonArray arr = obj[KEY_WEEKS].toArray();
|
|
foreach (QJsonValue val, arr) {
|
|
Week* w = Week::from_json(val.toObject());
|
|
result->weeks[w->getWeekNumber()] = w;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
QJsonObject Year::to_json()
|
|
{
|
|
QJsonObject obj;
|
|
QJsonArray arr;
|
|
foreach (Week *w, weeks) {
|
|
arr.append(w->to_json());
|
|
}
|
|
obj[KEY_NUMBER] = number;
|
|
obj[KEY_WEEKS] = arr;
|
|
return obj;
|
|
}
|
|
|
|
Week *Year::getWeek(int weekNumber)
|
|
{
|
|
return weeks[weekNumber];
|
|
}
|
|
|
|
bool Year::hasWeek(int weekNumber)
|
|
{
|
|
return weeks.contains(weekNumber);
|
|
}
|
|
|
|
QMapIterator<int, Week *> Year::iterator()
|
|
{
|
|
QMapIterator i(weeks);
|
|
return i;
|
|
}
|
|
|
|
int Year::getNumber()
|
|
{
|
|
return number;
|
|
}
|
|
|
|
void Year::addWeek(Week* w)
|
|
{
|
|
weeks[w->getWeekNumber()] = w;
|
|
}
|