/// <summary> /// Constructor. /// </summary> public MainViewModel(IExtendedWindowManager windowManager, ILastFMClientFactory clientFactory, IScrobblerFactory scrobblerFactory, ILocalFileFactory localFileFactory) { _windowManager = windowManager; _lastFMClientFactory = clientFactory; _scrobblerFactory = scrobblerFactory; TitleString = "Last.fm Scrubbler WPF " + Assembly.GetExecutingAssembly().GetName().Version; CreateNewClient(); SetupViewModels(localFileFactory); CurrentStatus = "Waiting to scrobble..."; }
/// <summary> /// Constructor. /// </summary> /// <param name="windowManager">WindowManager used to display dialogs.</param> /// <param name="client">Factory for creating <see cref="ILastFMClient"/>s.</param> /// <param name="scrobblerFactory">Factory for creating <see cref="IAuthScrobbler"/>s.</param> /// <param name="localFileFactory">Factory for creating <see cref="Scrobbling.Data.ILocalFile"/>s.</param> /// <param name="fileOperator">FileOperator for interfacing with the hard disk.</param> /// <param name="directoryOperator">DirectoryOperator for operating with directories.</param> /// <param name="serializer">Serializer for <see cref="User"/>s.</param> /// <param name="logger">Logger used to log status messages.</param> /// <param name="gitHubClient">GitHub client to check for updates.</param> /// <param name="processManager">ProcessManager for working with processor functions.</param> public MainViewModel(IExtendedWindowManager windowManager, ILastFMClient client, IScrobblerFactory scrobblerFactory, ILocalFileFactory localFileFactory, IFileOperator fileOperator, IDirectoryOperator directoryOperator, ISerializer serializer, ILogger logger, IGitHubClient gitHubClient, IProcessManager processManager) { _windowManager = windowManager ?? throw new ArgumentNullException(nameof(windowManager)); _client = client ?? throw new ArgumentNullException(nameof(client)); _scrobblerFactory = scrobblerFactory ?? throw new ArgumentNullException(nameof(scrobblerFactory)); _fileOperator = fileOperator ?? throw new ArgumentNullException(nameof(fileOperator)); _logger = logger; SetupViewModels(localFileFactory, directoryOperator, serializer, gitHubClient, processManager); TitleString = "Last.fm Scrubbler WPF Beta " + Assembly.GetExecutingAssembly().GetName().Version; CurrentStatus = "Waiting to scrobble..."; }
/// <summary> /// Constructor. /// </summary> /// <param name="windowManager">WindowManager used to display dialogs.</param> /// <param name="clientFactory">Factory for creating <see cref="ILastFMClient"/>s.</param> /// <param name="scrobblerFactory">Factory for creating <see cref="IAuthScrobbler"/>s.</param> /// <param name="localFileFactory">Factory for creating <see cref="ILocalFile"/>s.</param> /// <param name="fileOperator">FileOperator for interfacing with the hard disk.</param> /// <param name="directoryOperator">DirectoryOperator for operating with directories.</param> /// <param name="userSerializer">Serializer for <see cref="User"/>s.</param> public MainViewModel(IExtendedWindowManager windowManager, ILastFMClientFactory clientFactory, IScrobblerFactory scrobblerFactory, ILocalFileFactory localFileFactory, IFileOperator fileOperator, IDirectoryOperator directoryOperator, ISerializer <User> userSerializer) { _windowManager = windowManager; _lastFMClientFactory = clientFactory; _scrobblerFactory = scrobblerFactory; _fileOperator = fileOperator; TitleString = "Last.fm Scrubbler WPF " + Assembly.GetExecutingAssembly().GetName().Version; _client = _lastFMClientFactory.CreateClient(APIKEY, APISECRET); SetupViewModels(localFileFactory, directoryOperator, userSerializer); CurrentStatus = "Waiting to scrobble..."; }