Exemplo n.º 1
0
        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;
                }
                }
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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;
            }
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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();
        }