private async void btnSelect_Click(object sender, RoutedEventArgs e) { MainWindow mw = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); var mySettings = new MetroDialogSettings() { NegativeButtonText = "Cancel Scraping", AnimateShow = false, AnimateHide = false }; DataGrid dgGameList = (DataGrid)mw.FindName("dgGameList"); var r = (GamesLibraryModel)dgGameList.SelectedItem; var row = (GameListItem)dgReturnedGames.SelectedItem; var controller = await mw.ShowProgressAsync("Scraping Data", "Initialising...", true, settings : mySettings); ScraperHandler sh = new ScraperHandler(row.GamesDBId, r.ID); await Task.Delay(100); await Task.Run(() => { if (controller.IsCanceled) { controller.CloseAsync(); return; } sh.ScrapeGame(controller); }); await controller.CloseAsync(); if (controller.IsCanceled) { await mw.ShowMessageAsync("MedLaunch Scraper", "Scraping Cancelled"); //GamesLibraryVisualHandler.UpdateSidebar(); GamesLibraryView.RestoreSelectedRow(); } else { await mw.ShowMessageAsync("MedLaunch Scraper", "Scraping Completed"); //GamesLibraryVisualHandler.UpdateSidebar(); GamesLibraryView.RestoreSelectedRow(); } //var ro = (GamesLibraryModel)dgGameList.SelectedItem; //dgGameList.SelectedItem = null; //dgGameList.SelectedItem = ro; //GamesLibraryVisualHandler.RefreshGamesLibrary(); this.Close(); }
private async void btnSelect_Click(object sender, RoutedEventArgs e) { MainWindow mw = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); var mySettings = new MetroDialogSettings() { NegativeButtonText = "Cancel Scraping", AnimateShow = false, AnimateHide = false }; DataGrid dgGameList = (DataGrid)mw.FindName("dgGameList"); var r = (GamesLibraryModel)dgGameList.SelectedItem; var row = (GameListItem)dgReturnedGames.SelectedItem; var controller = await mw.ShowProgressAsync("Scraping Data", "Initialising...", true, settings : mySettings); ScraperHandler sh = new ScraperHandler(row.GamesDBId, r.ID); await Task.Delay(100); await Task.Run(() => { if (controller.IsCanceled) { controller.CloseAsync(); return; } // get the scraped datawebobject var obj = sh.ScrapeGameInspector(controller); mw.InspGameScrape = new Game(); // populate the destination object mw.InspGameScrape.gameId = mw.InspGame.gameId; mw.InspGameScrape.systemId = mw.InspGame.systemId; StringBuilder sbAT = new StringBuilder(); for (int i = 0; i < obj.Data.AlternateTitles.Count(); i++) { sbAT.Append(obj.Data.AlternateTitles[i]); if (i < (obj.Data.AlternateTitles.Count() - 1)) { sbAT.Append(", "); } } mw.InspGameScrape.AlternateTitles = sbAT.ToString(); mw.InspGameScrape.Coop = obj.Data.Coop; mw.InspGameScrape.Developer = obj.Data.Developer; mw.InspGameScrape.ESRB = obj.Data.ESRB; mw.InspGameScrape.gameName = obj.Data.Title; mw.InspGameScrape.gdbId = obj.GdbId; StringBuilder sbGe = new StringBuilder(); for (int i = 0; i < obj.Data.Genres.Count(); i++) { sbGe.Append(obj.Data.Genres[i]); if (i < (obj.Data.Genres.Count() - 1)) { sbGe.Append(", "); } } mw.InspGameScrape.Genres = sbGe.ToString(); mw.InspGameScrape.Overview = obj.Data.Overview; mw.InspGameScrape.Players = obj.Data.Players; mw.InspGameScrape.Publisher = obj.Data.Publisher; mw.InspGameScrape.Year = obj.Data.Released; }); await controller.CloseAsync(); if (controller.IsCanceled) { await mw.ShowMessageAsync("MedLaunch Scraper", "Scraping Cancelled"); //GamesLibraryVisualHandler.UpdateSidebar(); //GamesLibraryView.RestoreSelectedRow(); } else { //await mw.ShowMessageAsync("MedLaunch Scraper", "Scraping Completed"); //GamesLibraryVisualHandler.UpdateSidebar(); //GamesLibraryView.RestoreSelectedRow(); } //var ro = (GamesLibraryModel)dgGameList.SelectedItem; //dgGameList.SelectedItem = null; //dgGameList.SelectedItem = ro; //GamesLibraryVisualHandler.RefreshGamesLibrary(); this.Close(); }