private async Task DeletePlaylistsAsync(IList <Playlist> playlists) { this.IsLoadingPlaylists = true; DeletePlaylistResult result = await this.collectionService.DeletePlaylistsAsync(playlists); await this.FillListsAsync(); if (result == DeletePlaylistResult.Error) { string message = ResourceUtils.GetStringResource("Language_Error_Deleting_Playlists"); if (playlists.Count == 1) { message = ResourceUtils.GetStringResource("Language_Error_Deleting_Playlist").Replace("%playlistname%", "\"" + playlists[0].PlaylistName + "\""); } this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetStringResource("Language_Error"), message, ResourceUtils.GetStringResource("Language_Ok"), true, ResourceUtils.GetStringResource("Language_Log_File")); } }
public async Task <DeletePlaylistResult> DeletePlaylistsAsync(IList <Playlist> playlists) { DeletePlaylistResult result = await this.playlistRepository.DeletePlaylistsAsync(playlists); if (result == DeletePlaylistResult.Success) { this.PlaylistsChanged(this, new EventArgs()); } return(result); }
public async Task <DeletePlaylistResult> DeletePlaylistAsync(long discordUserId, string playlistName) { AsyncDataReader dr = new AsyncDataReader("PLAYLIST_DeletePlaylist", _credentials.DbConnectionString); dr.AddParameter("@DiscordUserId", discordUserId); dr.AddParameter("@PlaylistName", playlistName); DeletePlaylistResult result = (DeletePlaylistResult)await dr.ExecuteScalarAsync(); return(result); }
public async Task <DeletePlaylistResult> DeletePlaylistsAsync(IList <Playlist> playlists) { DeletePlaylistResult result = DeletePlaylistResult.Success; await Task.Run(() => { try { using (var conn = this.factory.GetConnection()) { foreach (Playlist pl in playlists) { string trimmedPlaylistName = pl.PlaylistName.Trim(); // Get the Playlist in the database Playlist dbPlaylist = conn.Query <Playlist>("SELECT * FROM Playlist WHERE TRIM(PlaylistName)=?", trimmedPlaylistName).FirstOrDefault(); if (dbPlaylist != null) { // Get the PlaylistEntries which contain the PlaylistID of the Playlist to delete List <PlaylistEntry> playlistEntries = conn.Table <PlaylistEntry>().Where((p) => p.PlaylistID == dbPlaylist.PlaylistID).Select((p) => p).ToList(); conn.Delete(dbPlaylist); foreach (var entry in playlistEntries) { conn.Delete(entry); } LogClient.Instance.Logger.Info("Deleted the Playlist {0}", trimmedPlaylistName); } else { LogClient.Instance.Logger.Error("The playlist {0} could not be deleted because it was not found in the database.", trimmedPlaylistName); result = DeletePlaylistResult.Error; } } } } catch (Exception ex) { LogClient.Instance.Logger.Error("Could not connect to the database. Exception: {0}", ex.Message); } }); return(result); }