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); }
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); }
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); }
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); }