Ejemplo n.º 1
0
        public static void Update(List <Season> seasons, int year, int number)
        {
            var db  = new MongoDb();
            var api = new FinalSirenApi();
            var newDataStillComingTroughFromApi = true;

            var numRounds = api.GetNumRounds(year);//TODO:speed up - maybe store in code for now, in DB later

            for (var i = number; (i <= numRounds && newDataStillComingTroughFromApi); i++)
            {
                var round = api.GetRoundResults(year, i);
                if (round.Matches.TrueForAll(m => m.HomeScore().Total() < 0.1 && m.AwayScore().Total() < 0.1) && seasons.First(s => s.Year == year).Rounds.Count == numRounds)
                {
                    newDataStillComingTroughFromApi = false;
                }

                if (seasons.All(s => s.Year != year))
                {
                    seasons.Add(new Season(year, new List <Round>()));
                }

                if (seasons.First(s => s.Year == year).Rounds.Count >= i)
                {
                    seasons.First(s => s.Year == year).Rounds[i - 1] = round;
                }
                else
                {
                    seasons.First(s => s.Year == year).Rounds.Add(round);
                    db.UpdateSeasons(seasons.Where(s => s.Year >= year).ToList());
                }
            }
            db.UpdateSeasons(seasons.Where(s => s.Year >= year).ToList());
        }
Ejemplo n.º 2
0
        private static void Update(MongoDb db, List <Season> seasons, int year, int number)
        {
            var api = new FinalSirenApi();

            var numRounds = api.GetNumRounds(year);

            for (var i = number; i <= numRounds; i++)
            {
                var round = api.GetRoundResults(year, i);
                if (seasons.All(s => s.Year != year))
                {
                    seasons.Add(new Season(year, new List <Round>()));
                }

                if (seasons.First(s => s.Year == year).Rounds.Count >= i)
                {
                    seasons.First(s => s.Year == year).Rounds[i - 1] = round;
                }
                else
                {
                    seasons.First(s => s.Year == year).Rounds.Add(round);
                }
            }
            db.UpdateSeasons(seasons);
        }