Ejemplo n.º 1
0
        public PoolData GetPool(EDivision division, ERoundJudgeDisplay round, int controlIndex)
        {
            if (round == ERoundJudgeDisplay.Finals || round == ERoundJudgeDisplay.Semifinals)
            {
                return(GetPool(division, EnumConverter.ConvertRoundValue(round), (EPool)controlIndex));
            }
            else if (round != ERoundJudgeDisplay.None)
            {
                // If round is Quarter or Prelim
                int divisionIndex = (int)division;
                if (divisionIndex >= 0 && divisionIndex < (int)EDivision.Max)
                {
                    int roundIndex = (int)EnumConverter.ConvertRoundValue(round);
                    if (roundIndex >= 0 && roundIndex < (int)ERoundJudgeDisplay.None)
                    {
                        int PoolIndex = 2 * controlIndex +
                                        (round == ERoundJudgeDisplay.QuarterfinalsBD ? 1 : 0) +
                                        (round == ERoundJudgeDisplay.PrelimsBD ? 1 : 0);
                        if (PoolIndex >= 0 && PoolIndex < divisions[divisionIndex].rounds[roundIndex].pools.Count)
                        {
                            return(divisions[divisionIndex].rounds[roundIndex].pools[PoolIndex]);
                        }
                    }
                }
            }

            return(new PoolData());
        }
Ejemplo n.º 2
0
        public static EPool ConvertPoolValue(ERoundJudgeDisplay round, int controlIndex)
        {
            if (round == ERoundJudgeDisplay.Finals)
            {
                return(controlIndex == 0 ? EPool.A : EPool.None);
            }
            else if (round == ERoundJudgeDisplay.Semifinals)
            {
                return(controlIndex == 0 ? EPool.A : EPool.B);
            }
            else if (round == ERoundJudgeDisplay.QuarterfinalsAC)
            {
                return(controlIndex == 0 ? EPool.A : EPool.C);
            }
            else if (round == ERoundJudgeDisplay.QuarterfinalsBD)
            {
                return(controlIndex == 0 ? EPool.B : EPool.D);
            }
            else if (round == ERoundJudgeDisplay.PrelimsAC)
            {
                return(controlIndex == 0 ? EPool.A : EPool.C);
            }
            else if (round == ERoundJudgeDisplay.PrelimsBD)
            {
                return(controlIndex == 0 ? EPool.B : EPool.D);
            }

            return(EPool.None);
        }
Ejemplo n.º 3
0
        public static ERound ConvertRoundValue(ERoundJudgeDisplay roundDisplay)
        {
            switch (roundDisplay)
            {
            case ERoundJudgeDisplay.PrelimsAC:
                return(ERound.Prelims);

            case ERoundJudgeDisplay.PrelimsBD:
                return(ERound.Prelims);

            case ERoundJudgeDisplay.QuarterfinalsAC:
                return(ERound.Quarterfinals);

            case ERoundJudgeDisplay.QuarterfinalsBD:
                return(ERound.Quarterfinals);

            case ERoundJudgeDisplay.Semifinals:
                return(ERound.Semifinals);

            case ERoundJudgeDisplay.Finals:
                return(ERound.Finals);

            default:
                return(ERound.None);
            }
        }
Ejemplo n.º 4
0
        void OnJudgesPoolChange(EDivision division, ERoundJudgeDisplay round)
        {
            if (division != EDivision.None && round != ERoundJudgeDisplay.None)
            {
                parentWindow.GetPlayingTeams(division, round, controlIndex, out playingTeams);
                PoolTeamsControl.ItemsSource = playingTeams;

                string poolString = "";
                if (round == ERoundJudgeDisplay.Finals)
                {
                    if (controlIndex == 0)
                    {
                        PoolNameLabel.Content = division.ToString() + " - " + round.ToString();
                    }
                    else
                    {
                        PoolNameLabel.Content = "";
                    }
                }
                else
                {
                    poolString = EnumConverter.ConvertPoolValue(round, controlIndex).ToString();

                    PoolNameLabel.Content = division.ToString() + " - " + round.ToString() + " - Pool " + poolString;
                }
            }
            else
            {
                PoolTeamsControl.ItemsSource = null;

                PoolNameLabel.Content = "";
            }
        }
        void OnJudgesPoolChange(EDivision inDivision, ERoundJudgeDisplay inRound)
        {
            division = inDivision;
            round    = inRound;

            PoolData pd = parentWindow.tournamentData.GetPool(division, round, controlIndex);

            judgeData.CopyFrom(pd.judgesData, parentWindow);
        }
Ejemplo n.º 6
0
        public void GetPlayingTeams(EDivision division, ERoundJudgeDisplay round, int controlIndex, out ObservableCollection <TeamData> outPlayingTeams)
        {
            EPool pool = EnumConverter.ConvertPoolValue(round, controlIndex);

            if (pool != EPool.None)
            {
                PoolData pd = tournamentData.GetPool(division, EnumConverter.ConvertRoundValue(round), pool);
                outPlayingTeams = pd.teamList.teams;
            }
            else
            {
                outPlayingTeams = null;
            }
        }