/// <summary>
        /// Creates the ViewModels.
        /// </summary>
        /// <param name="localFileFactory">Factory for creating <see cref="Scrobbling.Data.ILocalFile"/>s.</param>
        /// <param name="directoryOperator">DirectoryOperator for operating with directories.</param>
        /// <param name="serializer">Serializer for <see cref="User"/>s.</param>
        /// <param name="gitHubClient">GitHub client to check for updates.</param>
        /// <param name="processManager">ProcessManager for working with processor functions.</param>
        private void SetupViewModels(ILocalFileFactory localFileFactory, IDirectoryOperator directoryOperator, ISerializer serializer, IGitHubClient gitHubClient, IProcessManager processManager)
        {
            UserViewModel = new UserViewModel(_windowManager, _client.Auth, _fileOperator, directoryOperator, serializer);

            _generalSettingsVM = new GeneralSettingsViewModel(_windowManager, gitHubClient, processManager);

            _scrobblerVM = new ScrobblerViewModel(_windowManager, localFileFactory, _fileOperator, _client);
            _scrobblerVM.StatusUpdated += StatusUpdated;
            ActivateItem(_scrobblerVM);

            _extraFunctionsVM = new ExtraFunctionsViewModel(_windowManager, _client.User, _fileOperator);
            _extraFunctionsVM.StatusUpdated += StatusUpdated;
            ActivateItem(_extraFunctionsVM);

            // we do this later to stop a NullReferenceException (we create scrobblers here anyways!)
            UserViewModel.ActiveUserChanged += UserViewModel_ActiveUserChanged;

            if (UserViewModel.ActiveUser != null)
            {
                CreateScrobblers();
            }

            // should be active
            ActivateItem(_scrobblerVM);
        }
Esempio n. 2
0
        /// <summary>
        /// Creates the ViewModels.
        /// </summary>
        private void SetupViewModels(ILocalFileFactory localFileFactory)
        {
            _scrobblerVM = new ScrobblerViewModel(_windowManager, localFileFactory);
            _scrobblerVM.StatusUpdated += StatusUpdated;
            CreateScrobblers();
            ActivateItem(_scrobblerVM);

            _extraFunctionsVM = new ExtraFunctionsViewModel(_windowManager, Client.User);
            _extraFunctionsVM.StatusUpdated += StatusUpdated;
            ActivateItem(_extraFunctionsVM);

            // should be active
            ActivateItem(_scrobblerVM);

            UserViewModel = new UserViewModel(_windowManager);
            UserViewModel.ActiveUserChanged += UserViewModel_ActiveUserChanged;
            UserViewModel.LoadLastUser();
        }
Esempio n. 3
0
        /// <summary>
        /// Creates the ViewModels.
        /// </summary>
        /// <param name="localFileFactory">Factory for creating <see cref="ILocalFile"/>s.</param>
        /// <param name="directoryOperator">DirectoryOperator for operating with directories.</param>
        /// <param name="userSerializer">Serializer for <see cref="User"/>s.</param>
        private void SetupViewModels(ILocalFileFactory localFileFactory, IDirectoryOperator directoryOperator, ISerializer <User> userSerializer)
        {
            _scrobblerVM = new ScrobblerViewModel(_windowManager, localFileFactory, _fileOperator, _client);
            _scrobblerVM.StatusUpdated += StatusUpdated;
            CreateScrobblers();
            ActivateItem(_scrobblerVM);

            _extraFunctionsVM = new ExtraFunctionsViewModel(_windowManager, _client.User, _fileOperator);
            _extraFunctionsVM.StatusUpdated += StatusUpdated;
            ActivateItem(_extraFunctionsVM);

            // should be active
            ActivateItem(_scrobblerVM);

            UserViewModel = new UserViewModel(_windowManager, _client.Auth, _fileOperator, directoryOperator, userSerializer);
            UserViewModel.ActiveUserChanged += UserViewModel_ActiveUserChanged;
            UserViewModel.LoadLastUser();
        }
        /// <summary>
        /// Creates the ViewModels.
        /// </summary>
        /// <param name="localFileFactory">Factory for creating <see cref="ILocalFile"/>s.</param>
        /// <param name="directoryOperator">DirectoryOperator for operating with directories.</param>
        /// <param name="userSerializer">Serializer for <see cref="User"/>s.</param>
        private void SetupViewModels(ILocalFileFactory localFileFactory, IDirectoryOperator directoryOperator, ISerializer <User> userSerializer)
        {
            UserViewModel = new UserViewModel(_windowManager, _client.Auth, _fileOperator, directoryOperator, userSerializer);
            UserViewModel.LoadLastUser();

            _scrobblerVM = new ScrobblerViewModel(_windowManager, localFileFactory, _fileOperator, _client);
            _scrobblerVM.StatusUpdated += StatusUpdated;
            ActivateItem(_scrobblerVM);

            _extraFunctionsVM = new ExtraFunctionsViewModel(_windowManager, _client.User, _fileOperator);
            _extraFunctionsVM.StatusUpdated += StatusUpdated;
            ActivateItem(_extraFunctionsVM);

            // we do this later to stop a NullReferenceException (we create scrobblers here anyways!)
            UserViewModel.ActiveUserChanged += UserViewModel_ActiveUserChanged;

            // should be active
            ActivateItem(_scrobblerVM);
        }
        /// <summary>
        /// Creates the ViewModels.
        /// </summary>
        /// <param name="localFileFactory">Factory for creating <see cref="Scrobbling.Data.ILocalFile"/>s.</param>
        /// <param name="directoryOperator">DirectoryOperator for operating with directories.</param>
        /// <param name="serializer">Serializer for <see cref="User"/>s.</param>
        /// <param name="gitHubClient">GitHub client to check for updates.</param>
        /// <param name="processManager">ProcessManager for working with processor functions.</param>
        /// <param name="discogsClient">Client used to interact with Discogs.com</param>
        /// <param name="fileParserFactory">Factory for creating <see cref="IFileParser"/></param>
        private TabViewModel[] SetupViewModels(ILocalFileFactory localFileFactory, IDirectoryOperator directoryOperator, ISerializer serializer, IGitHubClient gitHubClient,
                                               IProcessManager processManager, IDiscogsDataBaseClient discogsClient, IFileParserFactory fileParserFactory)
        {
            UserViewModel = new UserViewModel(_windowManager, _client.Auth, _client.User, _fileOperator, directoryOperator, serializer);

            _generalSettingsVM = new GeneralSettingsViewModel(_windowManager, gitHubClient, processManager);

            _scrobblerVM = new ScrobblerViewModel(_windowManager, localFileFactory, _fileOperator, _client, discogsClient, fileParserFactory);
            _scrobblerVM.StatusUpdated += MainStatusUpdated;

            _extraFunctionsVM = new ExtraFunctionsViewModel(_windowManager, _client.User, _fileOperator);
            _extraFunctionsVM.StatusUpdated += MainStatusUpdated;

            // we do this later to stop a NullReferenceException (we create scrobblers here anyways!)
            UserViewModel.ActiveUserChanged += UserViewModel_ActiveUserChanged;

            if (UserViewModel.ActiveUser != null)
            {
                CreateScrobblers();
            }

            return(new TabViewModel[] { _scrobblerVM, _extraFunctionsVM });
        }