static allocation instead of dynamic added when creating activity map
[toast/confclerk.git] / src / mvc / activity.cpp
1 /*
2  * activity.cpp
3  *
4  *  Created on: Dec 27, 2009
5  *      Author: Pavol Korinek
6  */
7
8 #include "activity.h"
9
10 QString const Activity::sTableName = QString("activity");
11 int const Activity::sTableColCount = 2;
12
13 QSqlRecord const Activity::sColumns = Activity::toRecord(QList<QSqlField>()
14     << QSqlField("id", QVariant::Int)
15     << QSqlField("name", QVariant::String));
16
17 QMap<int, Activity> Activity::mIdToActivity;
18
19 QList<Activity> Activity::getAll()
20 {
21     QSqlQuery query;
22     query.prepare(selectQuery());
23     return load(query);
24 }
25
26 void Activity::updateActivityMap()
27 {
28     mIdToActivity.clear();
29     QList<Activity> activityList = Activity::getAll();
30     Activity activity;
31     for (int id = 0; id < activityList.count(); ++id) {
32         activity = activityList.at(id);
33         mIdToActivity.insert(activity.id(), activity);
34     }
35 }
36
37 QString Activity::getActivityName(int id)
38 {
39     QString name = mIdToActivity.value(id).name();
40     if (name == "") {
41         qDebug() << QString("Error: undefined activity name for id %1").arg(id);
42     }
43     return name;
44 }