//IAuditer auditer #region Constructor public HsMediaAuditViewModel(ISettingsHypermint settings, IHyperspinManager hsManager, IEventAggregator eventAggregator, IDialogCoordinator dialogService, ISelectedService selectedService, IGameLaunch gameLaunch, ISearchYoutube youtube) : base(eventAggregator, selectedService, gameLaunch, settings) { _youtube = youtube; _dialogService = dialogService; _hyperspinManager = hsManager; CurrentCellChanged = new DelegateCommand <object>(selectedGameCell => { SelectedGameCellChanged(selectedGameCell); }); SearchYoutubeCommand = new DelegateCommand(() => { _eventAggregator.GetEvent <GetVideosEvent>().Publish(new object()); _eventAggregator.GetEvent <NavigateRequestEvent>().Publish("YoutubeView"); }); // Runs the auditer for hyperspin RunAuditCommand = new DelegateCommand(async() => await RunScan()); _eventAggregator.GetEvent <HsAuditUpdateEvent>().Subscribe(a => { OnHsAuditUpdateEvent(a); }); //Set the observable game to a collection for the view. GamesList = new ListCollectionView(_hyperspinManager.CurrentSystemsGames); GamesList.CurrentChanged += GamesList_CurrentChanged; //GamesList.GroupDescriptions.Add(new PropertyGroupDescription("RomName")); _eventAggregator.GetEvent <GamesUpdatedEvent>().Subscribe(GamesUpdated); }
public ProgramFlow(string baseTerm, string baseUrl, ITemplateReader craditReader, IGoogleSearchParser googleSearchParser, ISearchTermBuilder searchTermBuilder, ITemplateReader snipetReader, ITemplateReader titlesReader, IGoogleSuggest googleSuggest, ITemplateReader templateReader, IPostBuilder postBuilder, ISearchYoutube searchYoutube) { CraditReader = craditReader; BaseTerm = baseTerm; BaseUrl = baseUrl; SearchYoutube = searchYoutube; TitlesReader = titlesReader; SnipetReader = snipetReader; PostBuilder = postBuilder; TemplateReader = templateReader; SearchTermBuilder = searchTermBuilder; GoogleSearchParser = googleSearchParser; GoogleSuggest = googleSuggest; }
/// <summary> /// Initializes a new instance of the <see cref="YoutubeViewModel"/> class. /// </summary> /// <param name="youtube">The youtube.</param> /// <param name="ea">The ea.</param> /// <param name="selectedService">The selected service.</param> /// <param name="settings">The settings.</param> /// <param name="dialog">The dialog.</param> public YoutubeViewModel(ISearchYoutube youtube, IEventAggregator ea, ISelectedService selectedService, ISettingsHypermint settings, IDialogCoordinator dialog) { _youtube = youtube; _evtAggr = ea; _selectedService = selectedService; _settings = settings; _dialog = dialog; _evtAggr.GetEvent <GetVideosEvent>().Subscribe(async(x) => { IsSearching = true; VideosVisible = false; SearchTermText = BuildSearchTerm(); await BuildVideoList(x); }); OpenYtCommand = new DelegateCommand(() => { var vid = VideoList.CurrentItem as YoutubeVideo; if (vid != null) { try { Process.Start(vid.VideoUrl); } catch (Exception) { } } }); AuditViewCommand = new DelegateCommand(() => { _evtAggr.GetEvent <NavigateRequestEvent>().Publish("HsMediaAuditView"); }); SearchYtCommand = new DelegateCommand(async() => { IsSearching = true; VideosVisible = false; await BuildVideoList(new object()); }); CancelSearchCommand = new DelegateCommand(() => { cancelSource.Cancel(); }); DownloadVideoCommand = new DelegateCommand(async() => { if (!File.Exists(Environment.CurrentDirectory + "\\youtube-dl.exe")) { System.Windows.MessageBox.Show("Cannot find youtube-dl.exe in hypermint root"); return; } await DownloadVideoAsync(); }); }