public void getTournamentBracket(LiteDatabase db, ref Tournament tourney) { tourney.CreateBracket(); var collection = db.GetCollection <Matchup>("matchups"); long tourn_id = tourney.info.UID; List <Matchup> ms = collection.Find(Query.All("_id", Query.Descending), 0, 100).Where(x => x.TournamentID == tourn_id).ToList(); foreach (Matchup m in ms) { Matchup mat = tourney.bracket.Matchups[m.ID]; //Override info mat.UID = m.UID; mat.TournamentID = m.TournamentID; mat.RoundID = m.RoundID; mat.LobbyName = m.LobbyName; mat.LobbyPass = m.LobbyPass; if (m.Team1ID > 0) { mat.Team1 = tourney.getTeamByUID(m.Team1ID); } mat.Team1 = tourney.getTeamByUID(m.Team1ID); if (m.Team2ID > 0) { mat.Team2 = tourney.getTeamByUID(m.Team2ID); } mat.Team2 = tourney.getTeamByUID(m.Team2ID); if (m.Team1ReportedWinnerID > 0) { mat.Team1ReportedWinner = tourney.getTeamByUID(m.Team1ReportedWinnerID); } if (m.Team2ReportedWinnerID > 0) { mat.Team2ReportedWinner = tourney.getTeamByUID(m.Team2ReportedWinnerID); } if (m.WinnerID > 0) { mat.Winner = tourney.getTeamByUID(m.WinnerID); } if (m.NextMatchupID > 0) { mat.Next = tourney.getmatchupByUID(m.NextMatchupID); } mat.InProgress = m.InProgress; } }
public void getTournamentBracket(MySqlConnection conn, ref Tournament tourney, long tourn_id) { string q = string.Format("SELECT * FROM matchups WHERE tournament_id = '{0}' ORDER BY ID DESC", tourn_id); MySqlDataReader rdr = ExecuteQuery(conn, q); //Populate Rounds tourney.CreateBracket(); while (rdr.Read()) { long _uid = rdr.GetInt64(rdr.GetOrdinal("ID")); int ordinal = rdr.GetOrdinal("team1_id"); ordinal = rdr.GetOrdinal("team1_id"); long _team1_id = rdr.IsDBNull(ordinal) ? 0 : rdr.GetInt64(ordinal); ordinal = rdr.GetOrdinal("team2_id"); long _team2_id = rdr.IsDBNull(ordinal) ? 0 : rdr.GetInt64(ordinal); bool status_in_progress = rdr.GetBoolean(rdr.GetOrdinal("status_in_progress")); ordinal = rdr.GetOrdinal("next_matchup_id"); long _next_matchup_id = rdr.IsDBNull(ordinal) ? 0 : rdr.GetInt64(ordinal); ordinal = rdr.GetOrdinal("winner_id"); ulong _winner_id = rdr.IsDBNull(ordinal) ? 0 : rdr.GetUInt64(ordinal); int _round_Id = rdr.GetInt32(rdr.GetOrdinal("round_id")); ordinal = rdr.GetOrdinal("team1_reported_winner_id"); ulong _team1_reported_winner_id = rdr.IsDBNull(ordinal) ? 0 : rdr.GetUInt64(ordinal); ordinal = rdr.GetOrdinal("team2_reported_winner_id"); ulong _team2_reported_winner_id = rdr.IsDBNull(ordinal) ? 0 : rdr.GetUInt64(ordinal); string lobby_name = rdr.GetString(rdr.GetOrdinal("lobby_name")); string lobby_pass = rdr.GetString(rdr.GetOrdinal("lobby_pass")); Matchup m = new Matchup(); m.UID = _uid; m.RoundID = _round_Id; m.LobbyName = lobby_name; m.LobbyPass = lobby_pass; if (_team1_id > 0) { m.Team1 = tourney.getTeamByUID(_team1_id); } else { m.Team1 = null; } if (_team2_id > 0) { m.Team2 = tourney.getTeamByUID(_team2_id); } else { m.Team2 = null; } //Reported Winners if (_team1_reported_winner_id > 0) { m.Team1ReportedWinner = tourney.getTeamByUID(_team1_id); } else { m.Team1ReportedWinner = null; } if (_team2_reported_winner_id > 0) { m.Team2ReportedWinner = tourney.getTeamByUID(_team2_id); } else { m.Team2ReportedWinner = null; } if (_winner_id > 0) { m.Winner = tourney.getTeamByUID(_team2_id); } else { m.Winner = null; } if (_next_matchup_id > 0) { m.Next = tourney.getmatchupByUID(_next_matchup_id); } m.InProgress = status_in_progress; //Winner setting can mess up stuff tourney.bracket.Rounds[_round_Id].Matchups.Add(m); } rdr.Close(); }