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;
            }
        }
Esempio n. 2
0
        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;
            }
        }