private void SearchData(string Name) { PART_DataLoad.Visibility = Visibility.Visible; PART_Data.IsEnabled = false; ButtonSelect.IsEnabled = false; string GameSearch = Name; Task task = Task.Run(() => { SteamGridDbSearchResultData DataSearch = null; try { DataSearch = steamGridDbApi.SearchGame(GameSearch); } catch (Exception ex) { Common.LogError(ex, false, true, "BackgroundChanger"); } this.Dispatcher.BeginInvoke((Action) delegate { PART_SearchList.ItemsSource = null; PART_ElementList.ItemsSource = null; if (DataSearch != null) { PART_SearchList.ItemsSource = DataSearch.data; } PART_DataLoad.Visibility = Visibility.Collapsed; PART_Data.IsEnabled = true; }); }); }
private async Task DownloadTempGridImages(string appName, string appTarget) { SteamGridDbApi api = new SteamGridDbApi(Properties.Settings.Default.SteamGridDbApiKey); string tmpGridDirectory = Path.GetTempPath() + "UWPHook\\tmp_grid\\"; var games = await api.SearchGame(appName); if (games != null) { var game = games[0]; UInt64 gameId = GenerateSteamGridAppId(appName, appTarget); if (!Directory.Exists(tmpGridDirectory)) { Directory.CreateDirectory(tmpGridDirectory); } var gameGridsVertical = api.GetGameGrids(game.Id, "600x900,342x482,660x930"); var gameGridsHorizontal = api.GetGameGrids(game.Id, "460x215,920x430"); var gameHeroes = api.GetGameHeroes(game.Id); var gameLogos = api.GetGameLogos(game.Id); await Task.WhenAll( gameGridsVertical, gameGridsHorizontal, gameHeroes, gameLogos ); var gridsVertical = await gameGridsVertical; var gridsHorizontal = await gameGridsHorizontal; var heroes = await gameHeroes; var logos = await gameLogos; List <Task> saveImagesTasks = new List <Task>(); if (gridsHorizontal != null && gridsHorizontal.Length > 0) { var grid = gridsHorizontal[0]; saveImagesTasks.Add(SaveImage(grid.Url, $"{tmpGridDirectory}\\{gameId}.png", ImageFormat.Png)); } if (gridsVertical != null && gridsVertical.Length > 0) { var grid = gridsVertical[0]; saveImagesTasks.Add(SaveImage(grid.Url, $"{tmpGridDirectory}\\{gameId}p.png", ImageFormat.Png)); } if (heroes != null && heroes.Length > 0) { var hero = heroes[0]; saveImagesTasks.Add(SaveImage(hero.Url, $"{tmpGridDirectory}\\{gameId}_hero.png", ImageFormat.Png)); } if (logos != null && logos.Length > 0) { var logo = logos[0]; saveImagesTasks.Add(SaveImage(logo.Url, $"{tmpGridDirectory}\\{gameId}_logo.png", ImageFormat.Png)); } await Task.WhenAll(saveImagesTasks); } }