Adding database loading and data conversion to orm module
[toast/confclerk.git] / src / model / event.h
index 8a63407a4c8b54fec499d2cc5296756cc49bdd85..14aa5f36fa1f0e2c09f502f100ebbbe5edf70a93 100644 (file)
@@ -2,32 +2,48 @@
 #define EVENT_H
 
 #include <QDateTime>
 #define EVENT_H
 
 #include <QDateTime>
+#include <QVector>
+#include <QStringList>
 
 
-class Event
+#include <ormrecord.h>
+
+
+/**
+  NoSuchEventException is thrown when required event does not exist.
+*/
+class NoSuchEventException
+{
+};
+
+class Event : public OrmRecord<Event>
 {
 {
+public:
+    static QSqlRecord const sColumns;
+    static QString const sTableName;
+
 public:
     static Event getById(int id, int conferenceId);
 
 public:
 public:
     static Event getById(int id, int conferenceId);
 
 public:
-    int id() const { return mId; }
-    int conferenceId() const { return mConferenceId; }
-    QDateTime start() const { return mStart; }
-    int duration() const { return mDuration; }
-    int activityId() const { return mActivityId; }
-    int typeId() const { return mTypeId; }
-    int languageId() const { return mLanguageId; }
-
-private:
-    Event() {}; // private constructor, use static methods to access instances
-
-private:
-    int mId;
-    int mConferenceId;
-    QDateTime mStart;
-    int mDuration;
-    int mActivityId;
-    int mTypeId;
-    int mLanguageId;
+    int id() const { return value("id").toInt(); }
+    int conferenceId() const { return value("xid_conference").toInt(); }
+    QDateTime start() const { return value("start").toDateTime(); }
+    int duration() const { return value("duration").toInt(); }
+    int activityId() const { return value("xid_activity").toInt(); }
+    int typeId() const { return value("type").toInt(); }
+    int languageId() const { return value("language").toInt(); }
+
+    void setId(int id) { setValue("id", id); }
+    void setConferenceId(int conferenceId) { setValue("xid_conference", conferenceId); }
+    void setStart(const QDateTime& start) { setValue("start", start); }
+    void setDuration(int duration) { setValue("duration", duration); }
+    void setActivityId(int activityId) { setValue("xid_activity", activityId); }
+    void setTypeId(int typeId) { setValue("type", typeId); }
+    void setLanguageId(int languageId) { setValue("language", languageId); }
+
+friend class EventTest;
 };
 
 };
 
+
+
 #endif // EVENT_H
 #endif // EVENT_H