private async Task CreateNewPlaylistAsync(EditablePlaylistViewModel editablePlaylist) { CreateNewPlaylistResult result = await this.playlistService.CreateNewPlaylistAsync(editablePlaylist); switch (result) { case CreateNewPlaylistResult.Duplicate: this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetString("Language_Already_Exists"), ResourceUtils.GetString("Language_Already_Playlist_With_That_Name").Replace("{playlistname}", editablePlaylist.PlaylistName), ResourceUtils.GetString("Language_Ok"), false, string.Empty); break; case CreateNewPlaylistResult.Error: this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Error_Adding_Playlist"), ResourceUtils.GetString("Language_Ok"), true, ResourceUtils.GetString("Language_Log_File")); break; case CreateNewPlaylistResult.Blank: this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Provide_Playlist_Name"), ResourceUtils.GetString("Language_Ok"), false, string.Empty); break; default: // Never happens break; } }
private async Task AddGenresToPlaylistAsync(IList <string> genres, string playlistName) { CreateNewPlaylistResult createPlaylistResult = CreateNewPlaylistResult.Success; // Default Success // If no playlist is provided, first create one. if (playlistName == null) { var responseText = ResourceUtils.GetString("Language_New_Playlist"); if (this.dialogService.ShowInputDialog( 0xea37, 16, ResourceUtils.GetString("Language_New_Playlist"), ResourceUtils.GetString("Language_Enter_Name_For_Playlist"), ResourceUtils.GetString("Language_Ok"), ResourceUtils.GetString("Language_Cancel"), ref responseText)) { playlistName = responseText; createPlaylistResult = await this.playlistService.CreateNewPlaylistAsync(new EditablePlaylistViewModel(playlistName, PlaylistType.Static)); } } // If playlist name is still null, the user clicked cancel on the previous dialog. Stop here. if (playlistName == null) { return; } // Verify if the playlist was created switch (createPlaylistResult) { case CreateNewPlaylistResult.Success: case CreateNewPlaylistResult.Duplicate: // Add items to playlist AddTracksToPlaylistResult addTracksResult = await this.playlistService.AddGenresToStaticPlaylistAsync(genres, playlistName); if (addTracksResult == AddTracksToPlaylistResult.Error) { this.dialogService.ShowNotification(0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Error_Adding_Songs_To_Playlist").Replace("{playlistname}", "\"" + playlistName + "\""), ResourceUtils.GetString("Language_Ok"), true, ResourceUtils.GetString("Language_Log_File")); } break; case CreateNewPlaylistResult.Error: this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Error_Adding_Playlist"), ResourceUtils.GetString("Language_Ok"), true, ResourceUtils.GetString("Language_Log_File")); break; case CreateNewPlaylistResult.Blank: this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Provide_Playlist_Name"), ResourceUtils.GetString("Language_Ok"), false, string.Empty); break; default: // Never happens break; } }