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();
        }
Example #2
0
        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();
        }