if ( mRoomId == 0 )
{
QSqlQuery query;
- query.prepare("SELECT xid_room FROM event_room WHERE xid_event = :id");
+ query.prepare("SELECT xid_room FROM event_room WHERE xid_event = :id AND xid_conference = :conf");
query.bindValue(":id", id());
+ query.bindValue(":conf", conferenceId());
if (!query.isActive())
if (!query.exec())
throw OrmSqlException(query.lastError().text());
{
QSqlQuery query;
// TODO: conference ID isn't used here
- query.prepare("SELECT person.name FROM person INNER JOIN event_person ON person.id = event_person.xid_person AND event_person.xid_event = :id");
+ query.prepare("SELECT person.name FROM person INNER JOIN event_person ON person.id = event_person.xid_person AND event_person.xid_event = :id AND event_person.xid_conference = :conf");
query.bindValue(":id", id());
+ query.bindValue(":conf", conferenceId());
query.exec();
// TODO: handle qeury error
//qDebug() << query.lastError();
trackId = track.insert();
/*qDebug() << QString("DEBUG: Track %1 added to DB").arg(name);*/
}
- QDateTime startDateTime = QDateTime(QDate::fromString(aEvent["date"],DATE_FORMAT),QTime::fromString(aEvent["start"],TIME_FORMAT));
+ QDateTime startDateTime;
+ startDateTime.setTimeSpec(Qt::UTC);
+ startDateTime = QDateTime(QDate::fromString(aEvent["date"],DATE_FORMAT),QTime::fromString(aEvent["start"],TIME_FORMAT),Qt::UTC);
+ qDebug() << "startDateTime: " << startDateTime.toString();
QString values = QString("'%1', '%2', '%3', '%4', '%5', '%6', '%7', ? , ? , ? , ? , ? , '%8', '%9'") \
.arg(aEvent["conference_id"]) \
.arg(aEvent["id"]) \
QString("INSERT INTO EVENT (xid_conference, id, start, duration, xid_track, type, language, tag, title, subtitle, abstract, description, favourite, alarm) VALUES (%1)")
.arg(values);
+ qDebug() << query;
QSqlQuery result;
result.prepare(query);
result.bindValue(0,aEvent["tag"]);
"description VARCHAR, "
"favourite INTEGER DEFAULT 0, "
"alarm INTEGER DEFAULT 0, "
- "PRIMARY KEY (xid_conference,id), "
+ "PRIMARY KEY (xid_conference,id) ON CONFLICT REPLACE, "
"FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), "
"FOREIGN KEY(xid_track) REFERENCES TRACK(id));");
"xid_conference INTEGER NOT NULL, "
"xid_event INTEGER NOT NULL, "
"xid_person INTEGER NOT NULL, "
- "UNIQUE ( xid_conference, xid_event, xid_person ) ON CONFLICT IGNORE, "
+ "UNIQUE ( xid_conference, xid_event, xid_person ) ON CONFLICT REPLACE, "
"FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), "
"FOREIGN KEY(xid_event) REFERENCES EVENT(id), "
"FOREIGN KEY(xid_person) REFERENCES PERSON(id));");
"xid_conference INTEGER NOT NULL, "
"xid_event INTEGER NOT NULL, "
"xid_room INTEGER NOT NULL, "
- "UNIQUE ( xid_conference, xid_event, xid_room ) ON CONFLICT IGNORE, "
+ "UNIQUE ( xid_conference, xid_event, xid_room ) ON CONFLICT REPLACE, "
"FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), "
"FOREIGN KEY(xid_event) REFERENCES EVENT(id), "
"FOREIGN KEY(xid_room) REFERENCES ROOM(id));");
"xid_event INTEGER NOT NULL, "
"name VARCHAR, "
"url VARCHAR NOT NULL, "
- "UNIQUE ( xid_conference, xid_event, url ) ON CONFLICT IGNORE, "
+ "UNIQUE ( xid_conference, xid_event, url ) ON CONFLICT REPLACE, "
"FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), "
"FOREIGN KEY(xid_event) REFERENCES EVENT(id));");
}
execQuery( db, query );
- //TODO: retun number of rows from SEARCH_EVENT
return 1;
}