/// <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; } } }
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)); }
/// <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)); }