+Track DbStorage::updateTrack(Track track) {
+ QSqlQuery *query = _remove_track_query;
+ query->bindValue(":id", track.id());
+ addTrack(track);
+ query = _get_track_by_source_query;
+ query->bindValue(":source", track.source());
+ query->exec();
+ if (query->next()) {
+ int id = query->value(0).toInt();
+ QString title = query->value(1).toString();
+ QString artist = query->value(2).toString();
+ QString album = query->value(3).toString();
+ QString source = query->value(4).toString();
+ int count = query->value(5).toInt();
+ int length = query->value(6).toInt();
+ TrackMetadata meta(title, artist, album, length);
+ Track ntrack(id, meta, source);
+ ntrack.setCount(count);
+ return ntrack;
+ }
+ return track;
+}
+