Example #1
0
 /// <summary>
 /// Updates the scrobblers of the ViewModels.
 /// </summary>
 /// <param name="scrobbler">Normal scrobbler.</param>
 /// <param name="cachingScrobbler">Caching scrobbler.</param>
 public void UpdateScrobblers(IAuthScrobbler scrobbler, IAuthScrobbler cachingScrobbler)
 {
     foreach (var vm in Items)
     {
         if (vm is INeedCachingScrobbler)
         {
             vm.Scrobbler = cachingScrobbler;
         }
         else
         {
             vm.Scrobbler = scrobbler;
         }
     }
 }
Example #2
0
 public UserScrobbler(User user, IAuthScrobbler scrobbler, IAuthScrobbler cachingScrobbler)
 {
     User              = user ?? throw new ArgumentNullException(nameof(user));
     _scrobbler        = scrobbler ?? throw new ArgumentNullException(nameof(scrobbler));
     _cachingScrobbler = cachingScrobbler ?? throw new ArgumentNullException(nameof(cachingScrobbler));
 }
Example #3
0
 /// <summary>
 /// Creates a scrobbler that checks <see cref="User"/>
 /// scrobble count.
 /// </summary>
 /// <param name="user">User to count scrobbles for.</param>
 /// <param name="scrobbler">Normal scrobbler.</param>
 /// <param name="cachingScrobbler">Scrobbler that caches.</param>
 /// <returns>Newly created scrobbler.</returns>
 public IUserScrobbler CreateUserScrobbler(User user, IAuthScrobbler scrobbler, IAuthScrobbler cachingScrobbler)
 {
     return(new UserScrobbler(user, scrobbler, cachingScrobbler));
 }