Beispiel #1
0
        public bool SyncSeasons()
        {
            ResourceCompetitions resourceCompetitions = new ResourceCompetitions(apiToken);         // Object to comunicate with API football-data.org.
            DALSeasons           dalSeasons           = new DALSeasons(connectionString);           // Object to comunicate with Database.

            List <Competition> lstApiCompetitions = resourceCompetitions.GetAll();                  // All competitions available on API.
            List <Season>      lstDbSeasons       = dalSeasons.GetAll();                            // All seasons available on Database.

            List <Season> lstInsertSeasons = new List <Season>();                                   // Temporary List<Areas> to insert.
            List <Season> lstUpdateSeasosn = new List <Season>();                                   // Temporary List<Areas> to update.


            if (lstDbSeasons.Count == 0)                                                            // In case theres no record in database we can just insert all Seasons.
            {
                foreach (Competition competition in lstApiCompetitions)
                {
                    if (competition.CurrentSeason != null)
                    {
                        lstInsertSeasons.Add(competition.CurrentSeason);
                    }
                }

                dalSeasons.Insert(lstInsertSeasons);
                return(true);
            }


            foreach (Competition apiCompetition in lstApiCompetitions)                                 // If database has alreday some records then...
            {
                if (apiCompetition.CurrentSeason != null)
                {
                    Season dbCompetitionCurrentSeason = dalSeasons.GetById(apiCompetition.CurrentSeason.Id.ToString());

                    if (dbCompetitionCurrentSeason == null)
                    {
                        lstDbSeasons.Add(apiCompetition.CurrentSeason);
                    }
                    else if (apiCompetition.CurrentSeason.StartDate != dbCompetitionCurrentSeason.StartDate ||
                             apiCompetition.CurrentSeason.EndDate != dbCompetitionCurrentSeason.EndDate)               // Checks for any difference.
                    {
                        lstUpdateSeasosn.Add(apiCompetition.CurrentSeason);
                    }
                }
            }


            if (lstInsertSeasons.Count != 0)
            {
                dalSeasons.Insert(lstInsertSeasons);
            }
            if (lstUpdateSeasosn.Count != 0)
            {
                dalSeasons.Update(lstUpdateSeasosn);
            }


            return(true);
        }
Beispiel #2
0
        public Season GetSeasonById(string Id)
        {
            DALSeasons dalSeasons = new DALSeasons(connectionString);

            return(dalSeasons.GetById(Id));
        }
Beispiel #3
0
        // SEASONS METHODS.
        public List <Season> GetAllSeasons()
        {
            DALSeasons dal = new DALSeasons(connectionString);

            return(dal.GetAll());
        }