//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);
        }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
        /// <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();
            });
        }