public static void UpdateContestStandings(int contestId)
{
Contest contest = ContestDAO.GetContestFromContestId(contestId, true, false);
#region Bracket Size Calculation
int teamsRemaining = contest.Teams.Count;
List<int> bracketSizes = ContestDAO.CalculateBracketSizes(teamsRemaining);
#endregion Bracket Size Calculation
#region Bracket Assignment
int currentTeamIndex = 0;
int currentBracketCount = 0;
while (currentBracketCount < bracketSizes[(int)ContestBracket.Diamond])
{
contest.Teams[currentTeamIndex].Bracket = (int)ContestBracket.Diamond;
currentBracketCount++;
currentTeamIndex++;
}
currentBracketCount = 0;
while (currentBracketCount < bracketSizes[(int)ContestBracket.Platinum])
{
contest.Teams[currentTeamIndex].Bracket = (int)ContestBracket.Platinum;
currentBracketCount++;
currentTeamIndex++;
}
currentBracketCount = 0;
while (currentBracketCount < bracketSizes[(int)ContestBracket.Gold])
{
contest.Teams[currentTeamIndex].Bracket = (int)ContestBracket.Gold;
currentBracketCount++;
currentTeamIndex++;
}
currentBracketCount = 0;
while (currentBracketCount < bracketSizes[(int)ContestBracket.Silver])
{
contest.Teams[currentTeamIndex].Bracket = (int)ContestBracket.Silver;
currentBracketCount++;
currentTeamIndex++;
}
currentBracketCount = 0;
while (currentBracketCount < bracketSizes[(int)ContestBracket.Bronze])
{
contest.Teams[currentTeamIndex].Bracket = (int)ContestBracket.Bronze;
currentBracketCount++;
currentTeamIndex++;
}
#endregion Bracket Assignment
ContestDAO.UpdateContest(contest);
}