#include "track.h"
QString const Track::sTableName = QString("track");
-int const Track::sTableColCount = 2;
+int const Track::sTableColCount = 3;
+const QString Track::CONFERENCEID = "xid_conference";
const QString Track::NAME = "name";
QSqlRecord const Track::sColumns = Track::toRecord(QList<QSqlField>()
<< QSqlField("id", QVariant::Int)
+ << QSqlField(CONFERENCEID, QVariant::Int)
<< QSqlField(NAME, QVariant::String));
class TrackInsertException : OrmSqlException
int Track::insert()
{
QSqlQuery query;
- query.prepare("INSERT INTO " + sTableName + " (" + NAME + ")" + " VALUES " + "(\"" + name() + "\")");
+ query.prepare("INSERT INTO " + sTableName + " (" + CONFERENCEID + "," + NAME + ")" + " VALUES " + "(\"" + QString::number(conferenceid()) + "\",\"" + name() + "\")");
if (!query.exec())
{
throw TrackInsertException("Exec Error");
static const QSqlRecord sColumns;
static QString const sTableName;
static const int sTableColCount;
+ static const QString CONFERENCEID;
static const QString NAME;
public:
int id() const { return value("id").toInt(); }
void setId(int id) { setValue("id", id); }
+ int conferenceid() const { return value("xid_conference").toInt(); }
+ void setConference(int conferenceid) { setValue("xid_conference", conferenceid); }
QString name() const { return value("name").toString(); }
void setName(const QString & type) { setValue("name", type); }
int insert();
if (db.isValid() && db.isOpen())
{
//insert event track to table and get track id
+ int conference = aEvent["conference_id"].toInt();
QString name = aEvent["track"];
Track track;
int trackId;
/*qDebug() << QString("DEBUG: Track %1 in DB").arg(name);*/
}
catch (OrmNoObjectException &e) {
+ track.setConference(conference);
track.setName(name);
trackId = track.insert();
/*qDebug() << QString("DEBUG: Track %1 added to DB").arg(name);*/
//TODO: check if the person doesn't exist before inserting
if (db.isValid() && db.isOpen())
{
- QString values = QString("'%1', '%2'").arg(aPerson["id"],aPerson["name"]);
- QString query = QString("INSERT INTO PERSON (id,name) VALUES (%1)").arg(values);
+ QString values = QString("'%1', '%2', '%3'").arg(aPerson["conference_id"],aPerson["id"],aPerson["name"]);
+ QString query = QString("INSERT INTO PERSON (xid_conference,id,name) VALUES (%1)").arg(values);
QSqlQuery result (query, db);
//LOG_AUTOTEST(query);
}
else // ROOM record doesn't exist yet, need to create it
{
- QString values = QString("'%1', '%2'").arg(aRoom["name"],aRoom["picture"]);
- QString query = QString("INSERT INTO ROOM (name,picture) VALUES (%1)").arg(values);
+ QString values = QString("'%1', '%2', '%3'").arg(aRoom["conference_id"],aRoom["name"],aRoom["picture"]);
+ QString query = QString("INSERT INTO ROOM (xid_conference,name,picture) VALUES (%1)").arg(values);
QSqlQuery result (query, db);
roomId = result.lastInsertId().toInt(); // 'id' is assigned automatically
//LOG_AUTOTEST(query);