ActivEarth.Competition.Contests.DisplayContestPage.LoadContestSignupData C# (CSharp) Метод

LoadContestSignupData() приватный Метод

Loads content specific to contest Signup.
private LoadContestSignupData ( Contest contest, bool isCompeting ) : void
contest ActivEarth.Objects.Competition.Contests.Contest The contest.
isCompeting bool Whether the team is currently competeing or not.
Результат void
        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);
            }
        }