ViewModel for a single fetched track of a friend. Used in the FriendScrobbleViewModel.
Inheritance: Caliburn.Micro.PropertyChangedBase
Example #1
0
        /// <summary>
        /// Fetches the recent scrobbles of the user with the given <see cref="Username"/>.
        /// </summary>
        public async Task FetchScrobbles()
        {
            EnableControls = false;

            try
            {
                OnStatusUpdated("Trying to fetch scrobbles of user " + Username + "...");
                FetchedScrobbles.Clear();
                var response = await _userApi.GetRecentScrobbles(Username, null, 1, Amount);

                if (response.Success)
                {
                    foreach (var s in response)
                    {
                        if (!s.IsNowPlaying.HasValue || !s.IsNowPlaying.Value)
                        {
                            FetchedFriendTrackViewModel vm = new FetchedFriendTrackViewModel(s);
                            vm.ToScrobbleChanged += ToScrobbleChanged;
                            FetchedScrobbles.Add(vm);
                        }
                    }

                    OnStatusUpdated("Successfully fetched scrobbles of user " + Username);
                }
                else
                {
                    OnStatusUpdated("Failed to fetch scrobbles of user " + Username);
                }
            }
            catch (Exception ex)
            {
                OnStatusUpdated(string.Format("Fatal error while fetching scrobbles of user {0}. Error: {1}", Username, ex.Message));
            }
            finally
            {
                EnableControls = true;
            }
        }
    /// <summary>
    /// Fetches the recent scrobbles of the user with the given <see cref="Username"/>.
    /// </summary>
    public async void FetchScrobbles()
    {
      EnableControls = false;
      OnStatusUpdated("Trying to fetch scrobbles of user " + Username + "...");
      FetchedScrobbles.Clear();
      var response = await MainViewModel.Client.User.GetRecentScrobbles(Username, null, 1, Amount);
      if (response.Success)
      {
        OnStatusUpdated("Successfully fetched scrobbles of user " + Username);
        foreach (var s in response)
        {
          if (!s.IsNowPlaying.HasValue || !s.IsNowPlaying.Value)
          {
            FetchedFriendTrackViewModel vm = new FetchedFriendTrackViewModel(s);
            vm.ToScrobbleChanged += ToScrobbleChanged;
            FetchedScrobbles.Add(vm);
          }
        }
      }
      else
        OnStatusUpdated("Failed to fetch scrobbles of user " + Username);

      EnableControls = true;
    }