public void getTournamentPlayerAssignments(LiteDatabase db, ref Tournament tourney) { var player_collection = db.GetCollection <TeamPlayerAssoc>("tournament_team_players"); long tourn_id = tourney.info.UID; List <TeamPlayerAssoc> associations = player_collection.Find(x => x.TournamentID == tourn_id).ToList(); foreach (TeamPlayerAssoc assoc in associations) { Player p = tourney.getPlayerByUID(assoc.PlayerID); Team t = tourney.getTeamByUID(assoc.TeamID); switch (tourney.info.Type) { case TournamentType.SOLO: { ((Team1s)t).addPlayer(p); break; } case TournamentType.DOUBLES: { ((Team2s)t).addPlayer(p); break; } case TournamentType.TRIPLES: { ((Team3s)t).addPlayer(p); break; } } } }
public TeamInvitation getPlayerInvitation(MySqlConnection conn, Tournament t, ulong inv_id) { //Fetch invitation for player string q = string.Format("SELECT * from team_invitations WHERE ID='{0}'", inv_id); MySqlDataReader rdr = ExecuteQuery(conn, q); TeamInvitation inv = new TeamInvitation(); while (rdr.Read()) { long _uid = rdr.GetInt64(rdr.GetOrdinal("ID")); long _playerid = rdr.GetInt64(rdr.GetOrdinal("player_id")); bool _pending = rdr.GetBoolean(rdr.GetOrdinal("pending")); bool _accepted = rdr.GetBoolean(rdr.GetOrdinal("accepted")); long _teamid = rdr.GetInt64(rdr.GetOrdinal("team_id")); inv.UID = _uid; inv.team = t.getTeamByUID(_teamid); inv.player = t.getPlayerByUID(_playerid); inv.pending = _pending; inv.accepted = _accepted; } rdr.Close(); return(inv); }
public TeamInvitation GetPlayerInvitation(LiteDatabase db, ref Tournament t, long inv_id) { var collections = db.GetCollection <TeamInvitation>("team_invitations"); TeamInvitation inv = collections.FindOne(x => x.UID == inv_id); if (inv != null) { inv.team = t.getTeamByUID(inv.teamID); inv.player = t.getPlayerByMainPlayerUID(inv.playerID); } return(inv); }
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 getPlayerInvitations(MySqlConnection conn, ref Tournament tourney, long tourn_id) { foreach (Player p in tourney._players) { //Fetch pending invitation for player string q = string.Format("SELECT * from team_invitations WHERE tournament_id = '{0}' AND player_id='{1}' AND pending=1", tourn_id, p.UID); MySqlDataReader rdr = ExecuteQuery(conn, q); while (rdr.Read()) { ulong _uid = rdr.GetUInt64(rdr.GetOrdinal("ID")); long _teamid = rdr.GetInt64(rdr.GetOrdinal("team_id")); TeamInvitation inv = new TeamInvitation(); inv.team = tourney.getTeamByUID(_teamid); p.Invitations.Add(inv); } rdr.Close(); } }
public void getTournamentPLayerAssignments(MySqlConnection conn, ref Tournament tourney, long tourn_id) { string q = string.Format("SELECT * FROM tournament_team_players WHERE tournament_id = '{0}'", tourn_id); MySqlDataReader rdr = ExecuteQuery(conn, q); while (rdr.Read()) { long _teamuid = rdr.GetInt64(rdr.GetOrdinal("team_id")); long _playeruid = rdr.GetInt64(rdr.GetOrdinal("player_id")); Player p = tourney.getPlayerByUID(_playeruid); Team t = tourney.getTeamByUID(_teamuid); switch (tourney.info.Type) { case TournamentType.SOLO: { ((Team1s)t).addPlayer(p); break; } case TournamentType.DOUBLES: { ((Team2s)t).addPlayer(p); break; } case TournamentType.TRIPLES: { ((Team3s)t).addPlayer(p); break; } } } rdr.Close(); }
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(); }