コード例 #1
0
        public static bool GetPrinterSplits(ITournPlayerArray playerList, PrinterSplitList splits)
        {
            playerList.SortByLastname();
            int val1 = 0;

            foreach (int key in splits.Keys)
            {
                splits[key].Counts = 0;
                val1 = Math.Max(val1, key);
            }
            foreach (ITournPlayer player in (IEnumerable <ITournPlayer>)playerList)
            {
                string str = "";
                if (player.LastName.Length > 0)
                {
                    str = player.LastName[0].ToString();
                }
                foreach (int key in splits.Keys)
                {
                    bool flag1 = key <= 1 || str.CompareTo(splits[key].FirstChar) >= 0;
                    bool flag2 = key == val1 || str.CompareTo(splits[key].LastChar) <= 0;
                    if (flag1 && flag2)
                    {
                        ++splits[key].Counts;
                        break;
                    }
                }
            }
            return(true);
        }
コード例 #2
0
        public override bool Equals(object obj)
        {
            ITournPlayerArray tournPlayerArray = (ITournPlayerArray)obj;

            if (tournPlayerArray.Count != this.Count)
            {
                return(false);
            }
            this.SortByID();
            tournPlayerArray.SortByID();
            for (int index = 0; index < this.Count; ++index)
            {
                if (this[index].ID.CompareTo(tournPlayerArray[index].ID) != 0)
                {
                    return(false);
                }
            }
            return(true);
        }
コード例 #3
0
        public int Append(ITournPlayerArray NewTournPlayers)
        {
            if (this.Count == 0)
            {
                this.SortOrder = PlayerSortOrder.Unsorted;
                this.AddRange((IEnumerable <ITournPlayer>)NewTournPlayers);
                return(NewTournPlayers.Count);
            }
            TournPlayerArray tournPlayerArray = new TournPlayerArray();
            int count = this.Count;

            foreach (ITournPlayer newTournPlayer in (IEnumerable <ITournPlayer>)NewTournPlayers)
            {
                if (!this.HasPlayer(newTournPlayer.ID))
                {
                    this.AddPlayer(newTournPlayer);
                }
            }
            return(this.Count - count);
        }
コード例 #4
0
        public static DataTable GetDataTable(
            ITournMatchArray matches,
            bool viewByPlayer,
            int tableOffset,
            ITournPlayerArray tournamentPlayerList)
        {
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add(new DataColumn("Table", typeof(int)));
            dataTable.Columns.Add(new DataColumn("Player 1 Object", typeof(ITournPlayer)));
            dataTable.Columns.Add(new DataColumn("Player 2 Object", typeof(ITournPlayer)));
            dataTable.Columns.Add(new DataColumn("Player 1", typeof(string)));
            dataTable.Columns.Add(new DataColumn("Player 2", typeof(string)));
            dataTable.Columns.Add(new DataColumn("Result", typeof(string)));
            dataTable.Columns.Add(new DataColumn("MatchObject", typeof(TournMatch)));
            foreach (TournMatch match in (IEnumerable <ITournMatch>)matches)
            {
                DataRow row1 = dataTable.NewRow();
                row1["Table"] = (object)(match.Table + tableOffset);
                if (match.Players.Count < 2)
                {
                    throw new Exception(string.Format("Match at round {0} table {1} has an invalid number of players", (object)match.Round, (object)match.Table));
                }
                row1["Player 1 Object"] = (object)match.Players[0];
                row1["Player 2 Object"] = (object)match.Players[1];
                row1["Player 1"]        = (object)match.Players[0].ToString();
                row1["Player 2"]        = (object)match.Players[1].ToString();
                row1["MatchObject"]     = (object)match;
                if (match.Status == TournMatchResult.DoubleLoss)
                {
                    row1["Result"] = (object)"Double Loss";
                }
                else if (match.Status == TournMatchResult.Draw)
                {
                    row1["Result"] = (object)"Draw";
                }
                else if (match.Status == TournMatchResult.Winner)
                {
                    if (match.Winner != Player.BYE_ID)
                    {
                        if (tournamentPlayerList.HasPlayer(match.Winner))
                        {
                            row1["Result"] = (object)tournamentPlayerList.FindById(match.Winner).ToString();
                        }
                        else if (Engine.PlayerList.HasPlayer(match.Winner))
                        {
                            row1["Result"] = (object)Engine.PlayerList.FindById(match.Winner).ToString();
                        }
                    }
                    else if (match.Winner == Player.BYE_ID)
                    {
                        row1["Result"] = (object)Player.ByePlayer.FirstName;
                    }
                }
                dataTable.Rows.Add(row1);
                if (viewByPlayer && !match.Players[1].IsBye)
                {
                    DataRow row2 = dataTable.NewRow();
                    row2["Table"]           = (object)(match.Table + tableOffset);
                    row2["Player 1 Object"] = (object)match.Players[1];
                    row2["Player 2 Object"] = (object)match.Players[0];
                    row2["Player 1"]        = (object)match.Players[1].ToString();
                    row2["Player 2"]        = (object)match.Players[0].ToString();
                    row2["MatchObject"]     = (object)match;
                    if (match.Status == TournMatchResult.DoubleLoss)
                    {
                        row2["Result"] = (object)"Double Loss";
                    }
                    else if (match.Status == TournMatchResult.Draw)
                    {
                        row2["Result"] = (object)"Draw";
                    }
                    else if (match.Status == TournMatchResult.Winner)
                    {
                        if (match.Winner != Player.BYE_ID)
                        {
                            if (tournamentPlayerList.HasPlayer(match.Winner))
                            {
                                row2["Result"] = (object)tournamentPlayerList.FindById(match.Winner).ToString();
                            }
                            else if (Engine.PlayerList.HasPlayer(match.Winner))
                            {
                                row2["Result"] = (object)Engine.PlayerList.FindById(match.Winner).ToString();
                            }
                        }
                        else if (match.Winner == Player.BYE_ID)
                        {
                            row2["Result"] = (object)Player.ByePlayer.FirstName;
                        }
                    }
                    dataTable.Rows.Add(row2);
                }
            }
            return(dataTable);
        }