|
@@ -21,12 +21,19 @@
|
|
|
qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
|
|
|
|
|
|
|
|
|
+Flight::Flight()
|
|
|
+{
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
Flight::Flight(int flight_id)
|
|
|
{
|
|
|
//retreive database layout
|
|
|
const auto dbContent = DbInfo();
|
|
|
+
|
|
|
auto table = QLatin1String("flights");
|
|
|
|
|
|
+
|
|
|
//Check database for row id
|
|
|
QString statement = "SELECT COUNT(*) FROM " + table + " WHERE _rowid_=" + QString::number(flight_id);
|
|
|
QSqlQuery q(statement);
|
|
@@ -59,3 +66,28 @@ Flight::Flight(int flight_id)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+Flight::Flight(QMap<QString, QString> newData)
|
|
|
+{
|
|
|
+ QString table = "flights";
|
|
|
+
|
|
|
+ //retreive database layout
|
|
|
+ const auto dbContent = DbInfo();
|
|
|
+ columns = dbContent.format.value(table);
|
|
|
+
|
|
|
+ //Check validity of newData
|
|
|
+ QVector<QString> badkeys;
|
|
|
+ QMap<QString, QString>::iterator i;
|
|
|
+ for (i = newData.begin(); i != newData.end(); ++i) {
|
|
|
+ if (!columns.contains(i.key())) {
|
|
|
+ DEB(i.key() << "Not in column list for table " << table << ". Discarding.");
|
|
|
+ badkeys << i.key();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (const auto &var : badkeys) {
|
|
|
+ newData.remove(var);
|
|
|
+ }
|
|
|
+ data = newData;
|
|
|
+ position.first = table;
|
|
|
+ position.second = 0;
|
|
|
+}
|