- QList<int> conflicts;
- while(query.next())
- {
- int idx = query.record().value("id").toInt();
- if(idx != id())
- conflicts.append(idx);
- }
-
- if(isFavourite()) // event became favourite
- {
- for(int i=0; i<conflicts.count(); i++)
- {
- QSqlQuery query;
- query.prepare("INSERT INTO event_conflict (xid_conference, xid_event, conflict_event) VALUES ( ? , ? , ? )");
- query.bindValue(0, conferenceId());
- query.bindValue(1, id());
- query.bindValue(2, conflicts[i]);
- query.exec();
-
- QSqlQuery query2;
- query2.prepare("INSERT INTO event_conflict (xid_conference, xid_event, conflict_event) VALUES ( ? , ? , ? )");
- query2.bindValue(0, conferenceId());
- query2.bindValue(1, conflicts[i]);
- query2.bindValue(2, id());
- query2.exec();
- }
- }
- else // event removed from favourities
- {
- qDebug() << "removing";
-
- QSqlQuery queryRemove;
- queryRemove.prepare("DELETE FROM event_conflict WHERE xid_event = :id AND xid_conference = :conf");
- queryRemove.bindValue(":id",id());
- queryRemove.bindValue(":conf",conferenceId());
- queryRemove.exec();
-
- for(int i=0; i<conflicts.count(); i++)
- {
- qDebug() << "removing: " << id() << " -> " << conflicts[i];
-
- QSqlQuery queryRemove;
- queryRemove.prepare("DELETE FROM event_conflict WHERE xid_event = :id1 AND xid_conference = :conf AND conflict_event = :id2");
- queryRemove.bindValue(":id1",conflicts[i]);
- queryRemove.bindValue(":conf",conferenceId());
- queryRemove.bindValue(":id2",id());
- queryRemove.exec();
- }
- }