_insert_date_query = new QSqlQuery(db);
_insert_date_query->prepare("INSERT INTO adding_date (track_id, date) values (:track_id, strftime('%s', 'now'))");
+
+ _insert_favorites_query = new QSqlQuery(db);
+ _insert_favorites_query->prepare("INSERT INTO favorites (track_id) values (:track_id)");
+
+ _update_track_count_query = new QSqlQuery(db);
+ _update_track_count_query->prepare("UPDATE tracks SET count = :count where id = :id");
}
void DbStorage::_create_database_structure() {
delete _insert_artist_query;
delete _insert_date_query;
delete _insert_track_query;
+ delete _insert_favorites_query;
+ delete _update_track_count_query;
db.close();
}
}
}
-void DbStorage::addToFavorites(Track) {
+void DbStorage::addToFavorites(Track track) {
+ QSqlQuery *query = _insert_favorites_query;
+ query->bindValue(":track_id", track.id());
+ query->exec();
}
-void DbStorage::updateTrack(Track) {
+void DbStorage::updateTrackCount(Track track) {
+ QSqlQuery *query = _update_track_count_query;
+ query->bindValue(":count", track.count());
+ query->bindValue(":id", track.id());
+ query->exec();
}
int DbStorage::_check_add_artist(QString artist) {
void removeTrack(Track track);
void addToFavorites(Track track);
- void updateTrack(Track track);
+ void updateTrackCount(Track track);
void addTrack(Track track);
private:
QSqlQuery *_insert_artist_query;
QSqlQuery *_insert_album_query;
-
QSqlQuery *_insert_track_query;
QSqlQuery *_insert_date_query;
+ QSqlQuery *_insert_favorites_query;
+
+ QSqlQuery *_update_track_count_query;
};
};
};
_library_storage->addToFavorites(track);
}
-void Library::updateTrack(Track track) {
- _library_storage->updateTrack(track);
+void Library::updateTrackCount(Track track) {
+ _library_storage->updateTrackCount(track);
}