public void GenerateMatch(int seasonId) { using (var dc = ThaitaeDataDataContext.Create()) { var isChampionLeagueFinal = dc.Leagues.Any(item => item.LeagueId == Convert.ToInt32(Session["leagueid"]) && (item.LeagueType == 1 || item.LeagueType == 2)); if (!isChampionLeagueFinal) { var teamSeasonList = dc.TeamSeasons.Join(dc.Teams, teamSeason => teamSeason.TeamId, team => team.TeamId, (teamSeason, team) => new { teamSeason.SeasonId, team.TeamId }) .Where(teamSeason => teamSeason.SeasonId == seasonId) .ToList(); for (var i = 0; i < teamSeasonList.Count; i++) { for (var j = 0; j < teamSeasonList.Count; j++) { if (teamSeasonList[i].TeamId != teamSeasonList[j].TeamId) { Match match = null; var matchExist = dc.Matches.Count( item => item.SeasonId == seasonId && item.TeamHomeId == teamSeasonList[i].TeamId && item.TeamAwayId == teamSeasonList[j].TeamId); if (matchExist == 0) { match = new Match { SeasonId = seasonId, MatchDate = DateTime.Now, TeamHomeId = teamSeasonList[i].TeamId, TeamAwayId = teamSeasonList[j].TeamId }; dc.Matches.InsertOnSubmit(match); dc.SubmitChanges(); } else { match = dc.Matches.Single( item => item.SeasonId == seasonId && item.TeamHomeId == teamSeasonList[i].TeamId && item.TeamAwayId == teamSeasonList[j].TeamId); } var teamHomeExist = dc.TeamMatches.Count( item => item.MatchId == match.MatchId && item.TeamId == match.TeamHomeId); if (teamHomeExist == 0) { var teamHomeMatch = new TeamMatch { MatchId = match.MatchId, TeamId = match.TeamHomeId, TeamHome = 1, SeasonId = match.SeasonId }; dc.TeamMatches.InsertOnSubmit(teamHomeMatch); dc.SubmitChanges(); } var teamAwayExist = dc.TeamMatches.Count( item => item.MatchId == match.MatchId && item.TeamId == match.TeamAwayId); if (teamAwayExist == 0) { var teamAwayMatch = new TeamMatch { MatchId = match.MatchId, TeamId = match.TeamAwayId, TeamHome = 0, SeasonId = match.SeasonId }; dc.TeamMatches.InsertOnSubmit(teamAwayMatch); dc.SubmitChanges(); } } } } } else { var isFinished = SeasonHelper.CheckGroupSeasonIsFinnish(seasonId); } } }
protected void GenTeam_Click(object sender, EventArgs e) { if (Session["seasonid"] == null) { return; } if (Convert.ToInt32(Session["seasonid"]) == 0) { return; } var seasonList = SeasonHelper.GetChampionLeagueGroupSeasonList(SeasonHelper.CheckIsEuropaSeasonId(Convert.ToInt32(Session["seasonid"]))); foreach (var season in seasonList) { var isFinished = SeasonHelper.CheckGroupSeasonIsFinnish(season.SeasonId); if (!isFinished) { JavaScriptHelper.Alert("ยังใส่ผล Champion League ไม่ครบทุก Group"); return; } } using (var dc = ThaitaeDataDataContext.Create()) { var checkRecord = dc.TeamSeasons.Any(item => item.SeasonId == Convert.ToInt32(Session["seasonid"])); if (checkRecord) { JavaScriptHelper.Alert("ต้องลบทีมออกให้หมดก่อนถึงจะกดปุ่มนี้ได้"); return; } } foreach (var season in seasonList) { List <TeamSeason> teamSeasonList; var leagueId = Convert.ToInt32(Session["leagueid"]); int i; if (leagueId == 14) { teamSeasonList = TeamSeasonHelper.GetChampionsLeagueFinalTeamList(season.SeasonId); i = 1; } else { teamSeasonList = TeamSeasonHelper.GetEuropaLeagueFinalTeamList(season.SeasonId); i = 2; } foreach (var teamSeason in teamSeasonList) { using (var dc = ThaitaeDataDataContext.Create()) { var teamFinalSelected = TeamSeasonHelper.GetChampionsLeagueFinalTeamFromGroupSeasonId(teamSeason.SeasonId, teamSeason.TeamId); if (teamFinalSelected == null) { var teamFinal = new TeamSeason { TeamDrew = 0, TeamGoalAgainst = 0, TeamGoalDiff = 0, TeamGoalFor = 0, TeamLoss = 0, TeamMatchPlayed = 0, TeamPts = 0, TeamRedCard = 0, TeamWon = 0, TeamYellowCard = 0, GroupSeasonId = 0, GroupSeasonOrder = leagueId == 14 ? i++ : i--, TeamId = teamSeason.TeamId, SeasonId = Convert.ToInt32(Session["seasonid"]) }; dc.TeamSeasons.InsertOnSubmit(teamFinal); } else { teamFinalSelected.GroupSeasonOrder = leagueId == 14 ? i++ : i--; } dc.SubmitChanges(); } } } }