private Task <Track> GetTopTrackForArtistAsync(HotArtistModel artist)
        {
            return(Task.Factory
                   .StartNew(state =>
            {
                HotArtistModel m = (HotArtistModel)state;
                using (_loadingIndicator.EnterLoadingBlock())
                {
                    var result = _radio.GetTracksByName(m.Name + " " + m.HotSongTitle);
                    var track = result.FirstOrDefault(
                        t => t.Artist.Equals(m.Name, StringComparison.InvariantCultureIgnoreCase));

                    if (track == null)
                    {
                        track = result.FirstOrDefault();
                    }

                    return track;
                }
            }, artist)
                   .ContinueWith(task =>
            {
                if (task.Exception != null)
                {
                    _logger.Log(task.Exception.ToString(), Category.Exception, Priority.Medium);
                    _toastService.Show("Unable to play track");
                }

                return task.Result;
            }));
        }
 private void ExecutePlayTopTrack(HotArtistModel artist)
 {
     GetTopTrackForArtistAsync(artist)
     .ContinueWith(task =>
     {
         if (task.Result != null)
         {
             _radio.Play(task.Result.ToTrackStream(task.Result.Name, "Top hot artists"));
         }
         else
         {
             _toastService.Show("Unable to find track " + artist.HotSongTitle);
         }
     });
 }
 private void ExecuteQueueTopTrack(HotArtistModel artist)
 {
     GetTopTrackForArtistAsync(artist)
     .ContinueWith(task =>
     {
         if (task.Result != null)
         {
             _radio.Queue(task.Result.ToTrackStream(task.Result.Name, "Top hot artists"));
             _toastService.Show(new ToastData
             {
                 Message = "Queued " + task.Result.Name,
                 Icon    = AppIcons.Add
             });
         }
         else
         {
             _toastService.Show("Unable to find track " + artist.HotSongTitle);
         }
     });
 }