private void LoadContestSignupData(Contest contest, bool isCompeting)
{
if (contest.Type == ContestType.Group)
{
if (!isCompeting)
{
btnLeaveContest.Visible = false;
if (GroupSelection.Items.Count == 0)
{
List<Group> groups = GroupDAO.GetAllGroupsByOwner(user);
foreach (Group group in groups)
{
GroupSelection.Items.Add(group.Name);
}
}
if (GroupSelection.Items.Count != 0)
{
btnJoinContest.Visible = true;
GroupSelection.Visible = true;
}
else
{
SignUpErrorMessage.Text = "This is a group contest. In order to join a group contest, you must "
+ "be a group leader of at least one group. If you are part of a group and not the leader, ask your group leader to add "
+ "the group to this contest.";
SignUpErrorMessage.Visible = true;
}
}
else
{
if (contest.Type == ContestType.Group)
{
ContestTeam team = TeamDAO.GetTeamFromUserIdAndContestId(user.UserID, contestId, true);
Group group = GroupDAO.GetGroupFromGroupId(team.GroupId ?? -1);
if (group.Owner.UserID == user.UserID)
{
btnLeaveContest.Visible = true;
}
else
{
btnLeaveContest.Visible = false;
}
}
else
{
btnLeaveContest.Visible = true;
}
btnJoinContest.Visible = false;
GroupSelection.Visible = false;
}
}
else
{
btnJoinContest.Visible = !isCompeting;
btnLeaveContest.Visible = isCompeting;
}
ContestSignUpPanel.Visible = true;
Color[] backColors = { Color.FromArgb(34, 139, 34), Color.White };
Color[] textColors = { Color.White, Color.Black };
if (contest.Teams.Count == 0)
{
CurrentTeamsSignedUp.Visible = false;
if (contest.Type == ContestType.Group)
{
NoTeamsMessage.Text = "No groups have signed up for this contest.";
}
else
{
NoTeamsMessage.Text = "No one has signed up for this contest.";
}
NoTeamsMessage.Visible = true;
}
else
{
CurrentTeamsSignedUp.Visible = true;
NoTeamsMessage.Visible = false;
CurrentTeamsSignedUp.PopulateTeamTable(contest.Teams, backColors, textColors);
}
}