Exemplo n.º 1
0
        private async Task Process()
        {
            var steamAppIdsFromDB = await _gameManager.GetAllSteamIdAsync();

            var set = new HashSet <int>(steamAppIdsFromDB);

            _apps.RemoveAll(i => set.Contains(i.appid));

            for (var i = 0; i < _apps.Count; i++)
            {
                var app     = _apps[i];
                var fullApp = await _steamAPI.GetAppBySteamID(app.appid);

                if (fullApp != null)
                {
                    if (String.IsNullOrEmpty(fullApp.Name))
                    {
                        Console.WriteLine($"{app.appid} does not have a title assigned");
                        fullApp.Name = fullApp.SteamAppID.ToString();
                    }
                    AddFullGame(fullApp);
                }
                else
                {
                    Console.WriteLine($"No Data for {app.appid}");
                    _gameManager.AddSteamApp(new SteamAppAddModel {
                        SteamAppId = app.appid,
                        Valid      = false
                    });
                }

                await Task.Delay(_requestDelayTime);
            }



            Console.WriteLine("Database has finished");
        }