コード例 #1
0
        public static List <MatchInfo> getMatchesInfo()
        {
            if (matchesInfo.Count == 0)
            {
                var             matches       = db.Matches.ToList();
                var             teams         = db.Teams.ToList();
                List <Team>     teamsToUpdate = new List <Team>();
                List <TeamInfo> teamesInfo    = new List <TeamInfo>();

                foreach (var match in matches)
                {
                    Team firstTeamFromDb  = teams.Where(t => t.Id == match.FirstTeamId).ToList()[0];
                    Team secondTeamFromDb = teams.Where(t => t.Id == match.SecondTeamId).ToList()[0];
                    match.FirstTeam  = firstTeamFromDb;
                    match.SecondTeam = secondTeamFromDb;
                    TeamInfo firstTeam  = new TeamInfo(match.FirstTeam);
                    TeamInfo secondTeam = new TeamInfo(match.SecondTeam);
                    if (firstTeam.fuzzyInfo[0] == '-')
                    {
                        firstTeam.fuzzyInfo       = FuzzyPredictor.analizeTeamInfo(firstTeam.getListOfParameters());
                        firstTeamFromDb.FuzzyInfo = firstTeam.fuzzyInfo;
                        teamsToUpdate.Add(firstTeamFromDb);
                    }
                    if (secondTeam.fuzzyInfo[0] == '-')
                    {
                        secondTeam.fuzzyInfo       = FuzzyPredictor.analizeTeamInfo(secondTeam.getListOfParameters());
                        secondTeamFromDb.FuzzyInfo = secondTeam.fuzzyInfo;
                        teamsToUpdate.Add(secondTeamFromDb);
                    }
                    MatchInfo matchInfo = new MatchInfo(match, firstTeam, secondTeam);
                    matchesInfo.Add(matchInfo);
                }
                if (teamsToUpdate.Count > 0)
                {
                    updateTeamsTable(teamsToUpdate);
                }
            }
            return(matchesInfo);
        }