private void fetchMetaDataWorker_DoWork( object sender, DoWorkEventArgs e ) { try { if ( this._item.Mediainfo != null ) { return; } var mw = new MediaInfoWorker(); mw.scan_file_one_time( this._item ); } catch ( Exception ex ) { Factory.Instance.LogLines.Enqueue( ex.Message ); Factory.Instance.LogLines.Enqueue( ex.StackTrace ); } }
private void SeriesTreeView_SelectedItemChanged( object sender, RoutedPropertyChangedEventArgs< object > e ) { try { if ( this.SeriesTreeView.SelectedItem == null ) { return; } var directory = this.SeriesTreeView.SelectedItem as IDirectoryItem; var file = this.SeriesTreeView.SelectedItem as IFileItem; if ( directory != null ) { var fname = Factory.Instance.ItemProvider.get_series_name_from_folder( directory ); var series = Factory.Instance.Tvdb?.get_series_by_name( fname ); if ( series != null ) { this.TvdbTab.Content = new UserControlSeriesViewer( series ); } else { this.TvdbTab.Content = new UserControlTvdbMissing(); } } if ( file == null ) { return; } var name = Factory.Instance.ItemProvider.get_series_name_from_file( file ); if ( name != null ) { var series = Factory.Instance.Tvdb?.get_series_by_name( name ); if ( series != null ) { this.TvdbTab.Content = new UserControlSeriesViewer( series ); } else { this.TvdbTab.Content = new UserControlTvdbMissing(); } } else { this.TvdbTab.Content = new UserControlTvdbMissing(); } if ( file.Missing ) { this.MediaTab.Content = new UserControlTvdbMissing(); return; } var mw = new MediaInfoWorker(); mw.scan_file_one_time( file ); if ( file.Mediainfo == null ) { this.MediaTab.Content = new UserControlTvdbMissing(); return; } this._item = file; var fetchMetaDataWorker = new BackgroundWorker(); fetchMetaDataWorker.DoWork += this.fetchMetaDataWorker_DoWork; fetchMetaDataWorker.RunWorkerCompleted += this.fetchMetaDataWorker_RunWorkerCompleted; fetchMetaDataWorker.RunWorkerAsync(); } catch ( Exception ex ) { Factory.Instance.LogLines.Enqueue( ex.Message ); Factory.Instance.LogLines.Enqueue( ex.StackTrace ); } }