Пример #1
0
 public TransactionService(
     IFileParserFactory fileParserFactory,
     ILogger <TransactionService> logger,
     ITransactionRepository transactionRepository)
 {
     this.fileParserFactory     = fileParserFactory;
     this.logger                = logger;
     this.transactionRepository = transactionRepository;
 }
Пример #2
0
 public FileManager(IFileParserFactory fileParserFactory, ILogger <FileManager> logger,
                    ITransactionValidator transactionValidator, ITransactionService transactionService, IMapper automapper)
 {
     _fileParserFactory    = fileParserFactory;
     _logger               = logger;
     _transactionValidator = transactionValidator;
     _transactionService   = transactionService;
     _automapper           = automapper;
 }
        /// <summary>
        /// Creates the ViewModels.
        /// </summary>
        /// <param name="windowManager">WindowManager used to display dialogs.</param>
        /// <param name="localFileFactory">Factory used to create <see cref="Data.ILocalFile"/>s.</param>
        /// <param name="fileOperator">FileOperator used to interface with files.</param>
        /// <param name="lastFMClient">Last.fm client.</param>
        /// <param name="discogsClient">Client used to interact with Discogs.com</param>
        /// <param name="fileParserFactory">Factory for creating <see cref="IFileParser"/></param>
        private void CreateViewModels(IExtendedWindowManager windowManager, ILocalFileFactory localFileFactory, IFileOperator fileOperator, ILastFMClient lastFMClient,
                                      IDiscogsDataBaseClient discogsClient, IFileParserFactory fileParserFactory)
        {
            var manualScrobbleViewModel = new ManualScrobbleViewModel(windowManager);

            manualScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var friendScrobbleViewModel = new FriendScrobbleViewModel(windowManager, lastFMClient.User);

            friendScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var databaseScrobbleViewModel = new DatabaseScrobbleViewModel(windowManager, lastFMClient.Artist, lastFMClient.Album, discogsClient);

            databaseScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var csvScrobbleViewModel = new FileParseScrobbleViewModel(windowManager, fileParserFactory, fileOperator);

            csvScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var fileScrobbleViewModel = new FileScrobbleViewModel(windowManager, localFileFactory, fileOperator);

            fileScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var mediaPlayerDatabaseScrobbleViewModel = new MediaPlayerDatabaseScrobbleViewModel(windowManager);

            mediaPlayerDatabaseScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var iTunesScrobbleVM = new ITunesScrobbleViewModel(windowManager, lastFMClient.Track, lastFMClient.Album, lastFMClient.Artist);

            iTunesScrobbleVM.StatusUpdated += Scrobbler_StatusUpdated;
            // todo: put back in once local api is working again
            //var spotifyScrobbleVM = new SpotifyScrobbleViewModel(windowManager, lastFMClient.Track, lastFMClient.Album, lastFMClient.Auth);
            //spotifyScrobbleVM.StatusUpdated += Scrobbler_StatusUpdated;
            var setlistFMScrobbleVM = new SetlistFMScrobbleViewModel(windowManager, lastFMClient.Artist);

            setlistFMScrobbleVM.StatusUpdated += Scrobbler_StatusUpdated;
            var cacheScrobblerVM = new CacheScrobblerViewModel(windowManager);

            cacheScrobblerVM.StatusUpdated += Scrobbler_StatusUpdated;

            ActivateItem(manualScrobbleViewModel);
            ActivateItem(friendScrobbleViewModel);
            ActivateItem(databaseScrobbleViewModel);
            ActivateItem(csvScrobbleViewModel);
            ActivateItem(fileScrobbleViewModel);
            ActivateItem(mediaPlayerDatabaseScrobbleViewModel);
            ActivateItem(iTunesScrobbleVM);
            //ActivateItem(spotifyScrobbleVM);
            ActivateItem(setlistFMScrobbleVM);
            ActivateItem(cacheScrobblerVM);

            // this one should be selected
            ActivateItem(manualScrobbleViewModel);
        }
Пример #4
0
        // == Ctor
        public DataLoaderService(IFileParserFactory fileParserFactory,
                                 IRepository <data.Stock> stockRepository,
                                 IRepository <data.Securities> securitiesRepository)
        {
            if (fileParserFactory == null)
            {
                throw new ArgumentNullException(nameof(fileParserFactory));
            }

            if (stockRepository == null)
            {
                throw new ArgumentNullException(nameof(stockRepository));
            }

            if (securitiesRepository == null)
            {
                throw new ArgumentNullException(nameof(securitiesRepository));
            }

            _fileParserFactory    = fileParserFactory;
            _stockRepository      = stockRepository;
            _securitiesRepository = securitiesRepository;
        }
        /// <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 });
        }
 /// <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>
 /// <param name="discogsClient">Client used to interact with Discogs.com</param>
 /// <param name="fileParserFactory">Factory for creating <see cref="IFileParser"/></param>
 public MainViewModel(IExtendedWindowManager windowManager, ILastFMClient client, IScrobblerFactory scrobblerFactory, ILocalFileFactory localFileFactory,
                      IFileOperator fileOperator, IDirectoryOperator directoryOperator, ISerializer serializer, ILogger logger, IGitHubClient gitHubClient,
                      IProcessManager processManager, IDiscogsDataBaseClient discogsClient, IFileParserFactory fileParserFactory)
 {
     _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;
     Tabs          = SetupViewModels(localFileFactory, directoryOperator, serializer, gitHubClient, processManager, discogsClient, fileParserFactory);
     TitleString   = $"Last.fm Scrubbler WPF Beta {Assembly.GetExecutingAssembly().GetName().Version}";
     CurrentStatus = "Waiting to scrobble...";
 }
 public FileUploader(ILogger <FileUploader> logger, IFileParserFactory fileParserFactory, ITransactionsService transactionsService)
 {
     _logger              = logger;
     _fileParserFactory   = fileParserFactory;
     _transactionsService = transactionsService;
 }
Пример #8
0
 public CounterPartyImporter(IServiceProvider services, IFileParserFactory fileParserFactory)
 {
     this.mapper            = services.GetService <IMapper <Company, DataTable> >();
     this.fileParserFactory = fileParserFactory;
 }
 public FIleParserManagerFactory(IFileParserFactory fileParserFactory)
 {
     _fileParserFactory = fileParserFactory;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="windowManager">WindowManager used to display dialogs.</param>
 /// <param name="localFileFactory">Factory used to create <see cref="Data.ILocalFile"/>s.</param>
 /// <param name="fileOperator">FileOperator used to interface with files.</param>
 /// <param name="lastFMClient">Last.fm client.</param>
 /// <param name="discogsClient">Client used to interact with Discogs.com</param>
 /// <param name="fileParserFactory">Factory for creating <see cref="IFileParser"/></param>
 public ScrobblerViewModel(IExtendedWindowManager windowManager, ILocalFileFactory localFileFactory, IFileOperator fileOperator, ILastFMClient lastFMClient,
                           IDiscogsDataBaseClient discogsClient, IFileParserFactory fileParserFactory)
 {
     DisplayName = "Scrobbler";
     CreateViewModels(windowManager, localFileFactory, fileOperator, lastFMClient, discogsClient, fileParserFactory);
 }
 public FIleParserManagerFactory(IFileParserFactory fileParserFactory)
 {
     _fileParserFactory = fileParserFactory;
 }
Пример #12
0
        /// <summary>
        /// Creates the ViewModels.
        /// </summary>
        /// <param name="windowManager">WindowManager used to display dialogs.</param>
        /// <param name="localFileFactory">Factory used to create <see cref="Data.ILocalFile"/>s.</param>
        /// <param name="fileOperator">FileOperator used to interface with files.</param>
        /// <param name="lastFMClient">Last.fm client.</param>
        /// <param name="discogsClient">Client used to interact with Discogs.com</param>
        /// <param name="fileParserFactory">Factory for creating <see cref="IFileParser"/></param>
        private ScrobbleViewModelBase[] CreateViewModels(IExtendedWindowManager windowManager, ILocalFileFactory localFileFactory, IFileOperator fileOperator, ILastFMClient lastFMClient,
                                                         IDiscogsDataBaseClient discogsClient, IFileParserFactory fileParserFactory)
        {
            var manualScrobbleViewModel = new ManualScrobbleViewModel(windowManager);

            manualScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var friendScrobbleViewModel = new FriendScrobbleViewModel(windowManager, lastFMClient.User);

            friendScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var databaseScrobbleViewModel = new DatabaseScrobbleViewModel(windowManager, lastFMClient.Artist, lastFMClient.Album, discogsClient);

            databaseScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var csvScrobbleViewModel = new FileParseScrobbleViewModel(windowManager, fileParserFactory, fileOperator);

            csvScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var fileScrobbleViewModel = new FileScrobbleViewModel(windowManager, localFileFactory, fileOperator);

            fileScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var mediaPlayerDatabaseScrobbleViewModel = new MediaPlayerDatabaseScrobbleViewModel(windowManager);

            mediaPlayerDatabaseScrobbleViewModel.StatusUpdated += Scrobbler_StatusUpdated;
            var iTunesScrobbleVM = new ITunesScrobbleViewModel(windowManager, lastFMClient.Track, lastFMClient.Album, lastFMClient.Artist);

            iTunesScrobbleVM.StatusUpdated += Scrobbler_StatusUpdated;
            // todo: put back in once local api is working again
            //var spotifyScrobbleVM = new SpotifyScrobbleViewModel(windowManager, lastFMClient.Track, lastFMClient.Album, lastFMClient.Auth);
            //spotifyScrobbleVM.StatusUpdated += Scrobbler_StatusUpdated;
            var setlistFMScrobbleVM = new SetlistFMScrobbleViewModel(windowManager, lastFMClient.Artist);

            setlistFMScrobbleVM.StatusUpdated += Scrobbler_StatusUpdated;
            var cacheScrobblerVM = new CacheScrobblerViewModel(windowManager);

            cacheScrobblerVM.StatusUpdated += Scrobbler_StatusUpdated;

            return(new ScrobbleViewModelBase[] { manualScrobbleViewModel, friendScrobbleViewModel, databaseScrobbleViewModel, csvScrobbleViewModel,
                                                 fileScrobbleViewModel, mediaPlayerDatabaseScrobbleViewModel, iTunesScrobbleVM, setlistFMScrobbleVM, cacheScrobblerVM });
        }