/// <summary>
 /// Read json from store & output as list of match's
 /// </summary>
 /// <param name="season">Season store to check</param>
 /// <returns>List of match objects</returns>
 public List <Match> ReadFromStore(String season)
 {
     if (fileStore.CheckStoreAlreadyExists(season))
     {
         var jsonString = File.ReadAllText(FileNameHelper.GetFileName(season));
         return(JsonSerializer.Deserialize <List <Match> >(jsonString));
     }
     else
     {
         return(null);
     }
 }
Exemple #2
0
        /// <summary>
        /// Get list of matches from either store or API of exists
        /// </summary>
        /// <param name="startYear">season year</param>
        /// <param name="teamId">team id</param>
        /// <returns>List of matches</returns>
        public List <Match> GetListOfMatchsFromEitherStoreOrAPI(int startYear, int teamId)
        {
            List <Match> matches = new();

            if (storeData.CheckStoreAlreadyExists(startYear))
            {
                matches = readWrite.ReadFromStore(startYear);
            }

            if (matches.Any(x => x.TeamLogoFileName.Contains(teamId.ToString())))
            {
                return(matches.Where(x => x.TeamLogoFileName.Contains(teamId.ToString())).ToList());
            }
            else
            {
                var apiResult = restClient.GetAllMatchesForSeason(startYear, teamId);
                matches.AddRange(apiResult.Where(x => !matches.Any(y => y.MatchId == x.MatchId)));
                readWrite.WriteToStore(matches, startYear);
                return(matches.Where(x => x.TeamLogoFileName.Contains(teamId.ToString())).ToList());
            }
        }
Exemple #3
0
        public void CheckStoreAlreadyExistsMultipleYearsFileDoesNotExistsTest()
        {
            var result = storeData.CheckStoreAlreadyExists(2019, 2020);

            Assert.IsFalse(result);
        }