public static int Save(Playlist playlist, string name) { using (SqliteConnection db = OnelyDB.Open()) { SqliteCommand command; if (playlist.Name == null) { // Is name taken? command = new SqliteCommand { Connection = db, CommandText = "SELECT id FROM playlists WHERE name=@Name" }; command.Parameters.AddWithValue("@Name", name); var res = OnelyDB.ExecuteReader(command); if (res.HasRows) { return(-1); } command = new SqliteCommand { Connection = db, CommandText = "INSERT INTO playlists(name) VALUES (@Name)" }; command.Parameters.AddWithValue("@Name", name); OnelyDB.ExecuteReader(command); playlist.Id = OnelyDB.GetLastInsertId(db); playlist.Name = name; } else { if (name != playlist.Name) { command = new SqliteCommand { Connection = db, CommandText = "UPDATE playlists SET name=@Name WHERE id=@ID" }; command.Parameters.AddWithValue("@Name", name); command.Parameters.AddWithValue("@ID", playlist.Id); OnelyDB.ExecuteReader(command); playlist.Name = name; } PlaylistItemStatic.DeleteBasedOnPlaylistId(playlist.Id, db); } int count = 0; foreach (var item in playlist.Items) { PlaylistItemStatic.Save(item, playlist.Id, count, db); count++; } OnelyDB.Close(db); return(playlist.Id); } }
public static void DeletePlaylistById(int id) { using (SqliteConnection db = OnelyDB.Open()) { PlaylistItemStatic.DeleteBasedOnPlaylistId(id, db); SqliteCommand command = new SqliteCommand { Connection = db, CommandText = "DELETE FROM playlists WHERE id=@ID" }; command.Parameters.AddWithValue("@ID", id); OnelyDB.ExecuteReader(command); OnelyDB.Close(db); } }