public ScraperSelect(Film _FilmRecherche) { this.InitializeComponent(); FilmRecherche = _FilmRecherche; //ThreadPool.SetMaxThreads(5, 1); _ListeChampsModif = Utils.GetChampsModifiables(FilmRecherche); ListCollectionView lcv = new ListCollectionView(_ListeChampsModif); lcv.SortDescriptions.Add(new System.ComponentModel.SortDescription("NomChamp", System.ComponentModel.ListSortDirection.Ascending)); lstChamps.ItemsSource = lcv; Assembly PluginFile; IMMPluginScraper ScraperPlugin; DirectoryInfo DI = new DirectoryInfo(Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Plugins/Scraper"); try { FileInfo[] FIA = DI.GetFiles("*.dll"); foreach (FileInfo ScraperFile in FIA) { PluginFile = Assembly.LoadFrom(ScraperFile.FullName); ScraperPlugin = PluginFile.CreateInstance("MediaManager.Plugins." + ScraperFile.Name.Substring(0 , ScraperFile.Name.Length - 4)) as IMMPluginScraper; if (ScraperPlugin != null) { MovieScrapers.Add(ScraperPlugin); } } } catch (Exception e) { MessageBox.Show(e.Message); } cbScraper.ItemsSource = MovieScrapers; }
private void LongOperationExecution() { // Here, put the code which take a long time to execute // BEGIN Master.Settings.xmlPath = System.IO.Path.GetDirectoryName(Application.ResourceAssembly.Location) + @"\settings.xml"; Master.Settings.XML = new Master.XmlSettings(); if (!Master.Settings.Load()) { //MessageBox.Show("No valid settings.xml found. Loading defaults"); Master.Settings.Save(); //conf.ShowDialog(); } #region Scrapers message.Message = "Chargement des scraper..."; Assembly PluginFile; IMMPluginScraper ScraperPlugin; DirectoryInfo DI = new DirectoryInfo(Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Plugins/Scraper"); try { FileInfo[] FIA = DI.GetFiles("*.dll"); foreach (FileInfo ScraperFile in FIA) { message.Message = "Chargement du Scraper " + ScraperFile.Name; PluginFile = Assembly.LoadFrom(ScraperFile.FullName); ScraperPlugin = PluginFile.CreateInstance("MediaManager.Plugins." + ScraperFile.Name.Substring(0 , ScraperFile.Name.Length - 4)) as IMMPluginScraper; if (ScraperPlugin != null) { Master.Settings.PluginsScraper.Add(ScraperPlugin); } } } catch (Exception e) { MessageBox.Show(e.Message); } #endregion #region InportExport message.Message = "Chargement des plugins Import Export..."; IMMPluginImportExport ImportExportPlugin; DirectoryInfo DIR = new DirectoryInfo(Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Plugins/ImportExport"); try { FileInfo[] FIA = DIR.GetFiles("*.dll"); foreach (FileInfo InportExport in FIA) { message.Message = "Chargement du Plugin " + InportExport.Name; PluginFile = Assembly.LoadFrom(InportExport.FullName); ImportExportPlugin = PluginFile.CreateInstance("MediaManager.Plugins." + InportExport.Name.Substring(0 , InportExport.Name.Length - 4)) as IMMPluginImportExport; if (ImportExportPlugin != null) { Master.Settings.PluginsImportExport.Add(ImportExportPlugin); } } } catch (Exception e) { MessageBox.Show(e.Message); } #endregion message.Message = "Création du cache..."; if (!Directory.Exists(System.Environment.CurrentDirectory + @"\Cache\Images\")) { Directory.CreateDirectory(System.Environment.CurrentDirectory + @"\Cache\Images\"); } if (!Directory.Exists(System.Environment.CurrentDirectory + @"\Cache\Series\")) { Directory.CreateDirectory(System.Environment.CurrentDirectory + @"\Cache\Series\"); } message.Message = "Création de la base de données..."; //MediaManager.Database.Database.CreateDB(); message.Message = "Chargement Terminé !"; this.Dispatcher.BeginInvoke(DispatcherPriority.Send, new DispatcherOperationCallback(delegate(Object state) { Thread.Sleep(2000); this.Hide(); Window1 window = new Window1(); window.Show(); return(null); }), null); }