예제 #1
0
파일: API.cs 프로젝트: JorinTielen/f1bets
        public void GetRaceResultsFromApi(int roundNumber)
        {
            string json;

            try
            {
                using (HttpClient hc = new HttpClient())
                {
                    string url = "http://ergast.com/api/f1/2017/" + roundNumber + "/results.json";

                    json = hc.GetStringAsync(url).Result;
                    if (!json.Contains("Circuit"))
                    {
                        //de api is nog niet geupdate met de resultaten
                        return;
                    }
                    obj = JsonConvert.DeserializeObject <RootObject>(json);
                }
            }
            catch (Exception)
            {
                //the api is offline
                return;
            }

            foreach (Race race in obj.MRData.RaceTable.Races)
            {
                if (Convert.ToInt32(race.round) == roundNumber)
                {
                    foreach (Result result in race.Results)
                    {
                        int  driver_id      = repo.GetDriverIDFromDriverNumber(Convert.ToInt32(result.Driver.permanentNumber));
                        int  competition_id = repo.GetCompetitionIDFromRoundNumber(Convert.ToInt32(race.round));
                        int  position       = Convert.ToInt32(result.position);
                        int  points         = Convert.ToInt32(result.points);
                        bool fastest        = false;

                        repo.InsertResult(competition_id, driver_id, points, position, fastest);
                    }
                }
            }
        }