Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
        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();
                    }
                }
            }
        }