public RoutineScoresData(PoolCreator.PoolKey poolKey, PoolCreator.PoolData poolData)
        {
            if (poolKey.round == PoolCreator.ERound.Max)
            {
                return;
            }

            Division = poolKey.division;
            Round    = poolKey.round;

            foreach (PoolCreator.RegisteredPlayer judge in poolData.judgesData.judgesEx)
            {
                ExResults.Add(new ExData(judge));
            }

            foreach (PoolCreator.RegisteredPlayer judge in poolData.judgesData.judgesAi)
            {
                AIResults.Add(new AIData(judge));
            }

            foreach (PoolCreator.RegisteredPlayer judge in poolData.judgesData.judgesDiff)
            {
                DiffResults.Add(new DiffData(judge));
            }
        }
        public RoundData(List <JudgeData> judgeList, PoolCreator.PoolKey poolKey, PoolCreator.RoundData roundData)
        {
            RoutineLengthMinutes = roundData.routineLength;

            foreach (PoolCreator.PoolData pd in roundData.pools)
            {
                Pools.Add(new PoolData(judgeList, poolKey, pd));
            }
        }
        public TeamData(PoolCreator.PoolKey poolKey, PoolCreator.PoolData poolData, PoolCreator.TeamData teamData)
        {
            foreach (PoolCreator.RegisteredPlayer player in teamData.players)
            {
                Players.Add(new PlayerData(player));
            }

            TotalRankPoints = teamData.TeamRankingPoints;

            if (poolKey.division == PoolCreator.EDivision.Open && poolKey.round == PoolCreator.ERound.Finals)
            {
                RoutineScores = new RoutineScoresData(poolKey, poolData);
            }
        }
        public PoolData(List <JudgeData> judgeList, PoolCreator.PoolKey poolKey, PoolCreator.PoolData poolData)
        {
            PoolName = poolData.pool.ToString();

            poolKey.pool = poolData.pool;

            foreach (PoolCreator.TeamData td in poolData.teamList.teams)
            {
                Teams.Add(new TeamDataDisplay(poolKey, poolData, td));
            }

            if (poolKey.round != PoolCreator.ERound.Max && poolData.judgesData.HasJudges())
            {
                JudgersId = judgeList.Count;

                judgeList.Add(new JudgeData(JudgersId, poolKey, poolData.judgesData));
            }
        }
        public JudgeData(int id, PoolCreator.PoolKey poolKey, PoolCreator.JudgesData judgesData)
        {
            Id       = id;
            Division = poolKey.division;
            switch (poolKey.round)
            {
            case PoolCreator.ERound.Finals:
                Round = "Finals";
                break;

            case PoolCreator.ERound.Semifinals:
                Round = "Semifinals";
                break;

            case PoolCreator.ERound.Quarterfinals:
                Round = "Quaterfinals";
                break;

            case PoolCreator.ERound.Prelims:
                Round = "Prelims";
                break;
            }
            Pool = poolKey.pool;

            foreach (PoolCreator.RegisteredPlayer judge in judgesData.judgesAi)
            {
                AIJudgeIds.Add(PoolCreator.TournamentData.FindLisaHelperNameId(judge));
            }

            foreach (PoolCreator.RegisteredPlayer judge in judgesData.judgesEx)
            {
                ExJudgeIds.Add(PoolCreator.TournamentData.FindLisaHelperNameId(judge));
            }

            foreach (PoolCreator.RegisteredPlayer judge in judgesData.judgesDiff)
            {
                DiffJudgeIds.Add(PoolCreator.TournamentData.FindLisaHelperNameId(judge));
            }
        }
 public TeamDataDisplay(PoolCreator.PoolKey poolKey, PoolCreator.PoolData poolData, PoolCreator.TeamData teamData)
 {
     Data = new TeamData(poolKey, poolData, teamData);
 }