Exemple #1
0
 private void OnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     if (e.Error != null)
     {
         StateChanged?.Invoke(this, new SongPickStateChangedEventArgs("Completed with error", e.Error));
     }
     else
     {
         var result = (IEnumerable <Song>)e.Result;
         var songs  = result.Select((x, i) => new PickedSong(i + 1, x)).ToImmutableArray();
         var songPickStateChangedEventArgs = new SongPickStateChangedEventArgs($"Completed successfully playlist with {songs.Length} songs generated", songs);
         StateChanged?.Invoke(this, songPickStateChangedEventArgs);
     }
 }
Exemple #2
0
 private void OnSongPickWorkerStateChanged(object sender, SongPickStateChangedEventArgs e)
 {
     StateMessage = e.Message;
     if (e.Error != null)
     {
         ShowError($"Song pick process failed: {e.Error.Message}.");
         PickedSongs.Clear();
     }
     else if (!e.IsProcessing)
     {
         PickedSongs = new ObservableCollection <PickedSong>(e.Result);
     }
     IsProcessing = e.IsProcessing;
 }