void Car::umountTire(QDate umountdate, unsigned int distance, Tire *tire, bool trashit) { qDebug() << "Umount tire"; if(!tire->mounted()) { qDebug() << "Can't umount this tire"; return; } QSqlQuery query(db); int id; QString sql = QString("INSERT INTO Event (id,date,distance) VALUES(NULL,'%1',%2)").arg(umountdate.toString("yyyy-MM-dd 00:00:00.00")).arg(distance); if(query.exec(sql)) { id = query.lastInsertId().toInt(); qDebug() << "Create Event(Tank) in database with id " << id; QString sql2 = QString("UPDATE TireUsage SET event_umount=%1 WHERE tire=%2 AND event_umount=0").arg(id).arg(tire->id()); if(query.exec(sql2)) { qDebug() << "Update TireUsage in database"; db.commit(); } else id = -1; } else id = -1; if(id == -1) { qDebug() << "Can't umount this tire set (db error)"; qDebug() << query.lastError(); } else { if(trashit) { QString sql2 = QString("UPDATE TireList SET trashdate='%1' WHERE id=%2").arg(umountdate.toString("yyyy-MM-dd 00:00:00.00")).arg(tire->id()); if(query.exec(sql2)) { qDebug() << "Update TireList in database to trash"; tire->setTrashdate(QDateTime(umountdate)); db.commit(); emit tiresChanged(); } else { qDebug() << "Can't trash this tire set (db error)"; qDebug() << query.lastError(); } } emit tireMountedChanged(); } }
Tire::Tire(QDate buydate, QDate trashdate, QString name, QString manufacturer, QString model, double price, unsigned int quantity, int id, Car *parent): QObject(parent), _car(parent), _id(id), _name(name), _manufacturer(manufacturer), _model(model), _buydate(buydate), _trashdate(trashdate), _price(price), _quantity(quantity) { connect(_car, SIGNAL(tireMountedChanged()), this, SLOT(updateMountState())); }
void Car::mountTire(QDate mountdate, unsigned int distance, Tire *tire) { qDebug() << "Mount tire"; QSqlQuery query(db); if(!tire->mountable()) { qDebug() << "Can't mount this tire"; return; } int id; QString sql = QString("INSERT INTO Event (id,date,distance) VALUES(NULL,'%1',%2)").arg(mountdate.toString("yyyy-MM-dd 00:00:00.00")).arg(distance); if(query.exec(sql)) { id = query.lastInsertId().toInt(); qDebug() << "Create Event(Tank) in database with id " << id; QString sql2 = QString("INSERT INTO TireUsage (event_mount,event_umount,tire) VALUES(%1,0,%2)").arg(id).arg(tire->id()); if(query.exec(sql2)) { id = query.lastInsertId().toInt(); qDebug() << "Create TireUsage in database with id " << id; db.commit(); } else id = -1; } else id = -1; if(id == -1) { qDebug() << "Can't mount this tire set (db error)"; qDebug() << query.lastError(); } else emit tireMountedChanged(); }