コード例 #1
0
        protected void Page_Load(Object s, EventArgs e)
        {
            userId = Convert.ToInt32(Request.QueryString["userId"]);

            if (!IsPostBack)
            {
                playerColorHash = new Hashtable();

                nowStatus  = CommonMethods.loadCurrentStatus();
                theRounds  = CommonMethods.loadRoundsForLobby();
                thePlayers = CommonMethods.loadPlayersForLobby();

                foreach (Player player in thePlayers)
                {
                    playerColorHash.Add(player.userId, player.color);
                }

                bracketOneName   = CommonMethods.loadBracketName(1);
                bracketTwoName   = CommonMethods.loadBracketName(2);
                bracketThreeName = CommonMethods.loadBracketName(3);
                bracketFourName  = CommonMethods.loadBracketName(4);

                bracketOneTeams   = CommonMethods.SortTeamsByRank(CommonMethods.loadTeamsForBracketView(1));
                bracketThreeTeams = CommonMethods.SortTeamsByRank(CommonMethods.loadTeamsForBracketView(3));
                bracketFourTeams  = CommonMethods.SortTeamsByRank(CommonMethods.loadTeamsForBracketView(4));
                bracketTwoTeams   = CommonMethods.SortTeamsByRank(CommonMethods.loadTeamsForBracketView(2));
            }
        }
コード例 #2
0
        public static CurrentStatus loadCurrentStatus()
        {
            string DB = HttpContext.Current.Server.MapPath(SETPATH);

            dbConnect = new OleDbConnection(CONNECTSTRING + DB);

            OleDbDataAdapter dbadapter;
            DataSet          clubdataset;

            OleDbCommand olecommand = new OleDbCommand("getCurrentStatus", dbConnect);

            olecommand.CommandType = CommandType.StoredProcedure;

            dbadapter = new OleDbDataAdapter(olecommand);

            clubdataset = new DataSet();
            dbadapter.Fill(clubdataset, "clubsdata");

            DataTable     statusTable = clubdataset.Tables["clubsdata"];
            CurrentStatus nowStatus   = new CurrentStatus();

            nowStatus.round             = Convert.ToInt32(statusTable.Rows[0]["Round"].ToString());
            nowStatus.maxHoldOverPoints = Convert.ToInt32(statusTable.Rows[0]["MaxHoldOverPoints"].ToString());
            nowStatus.pointsToSpend     = Convert.ToInt32(statusTable.Rows[0]["PointsToSpend"].ToString());
            nowStatus.totalPlayers      = Convert.ToInt32(statusTable.Rows[0]["UserCount"].ToString());
            nowStatus.currentOrderIndex = Convert.ToInt32(statusTable.Rows[0]["OrderIndex"].ToString());
            nowStatus.finished          = (bool)statusTable.Rows[0]["Finished"];
            nowStatus.totalRounds       = Convert.ToInt32(statusTable.Rows[0]["RoundCount"]);

            return(nowStatus);
        }
コード例 #3
0
        protected void Page_Load(Object s, EventArgs e)
        {
            teamList.ItemDataBound += new DataGridItemEventHandler(teamList_ItemDataBound);
            nowStatus  = CommonMethods.loadCurrentStatus();
            theRounds  = CommonMethods.loadRoundsForLobby();
            thePlayers = CommonMethods.loadPlayersForLobby();
            userId     = Convert.ToInt32(Request.QueryString["userId"]);

            if (userId != thePlayers[theRounds[nowStatus.round - 1].roundOrder[nowStatus.currentOrderIndex] - 1].userId)
            {
                Response.Redirect("lobby.aspx?userId=" + userId);
            }
            else
            {
                if (!IsPostBack)
                {
                    teamTable                 = CommonMethods.loadUnselectedTeams(Server);
                    nowStatus                 = CommonMethods.loadCurrentStatus();
                    pointsAvailable           = theRounds[nowStatus.round - 1].pointsToSpend + thePlayers[theRounds[nowStatus.round - 1].roundOrder[nowStatus.currentOrderIndex] - 1].pointsHeldOver;
                    pointsAvailableLabel.Text = pointsAvailable.ToString();
                    maxHoldOverLabel.Text     = theRounds[nowStatus.round - 1].maxHoldOverPoints.ToString();

                    valPointsAvailable.Type           = System.Web.UI.WebControls.ValidationDataType.Integer;
                    valPointsAvailable.ValueToCompare = theRounds[nowStatus.round - 1].maxHoldOverPoints.ToString();
                    valPointsAvailable.Operator       = System.Web.UI.WebControls.ValidationCompareOperator.LessThanEqual;
                    BindGrid();
                }
            }
        }
コード例 #4
0
 public void resetPage(Object s, System.EventArgs e)
 {
     teamTable              = CommonMethods.loadUnselectedTeams(Server);
     nowStatus              = CommonMethods.loadCurrentStatus();
     pointsAvailable        = theRounds[nowStatus.round - 1].pointsToSpend + thePlayers[theRounds[nowStatus.round - 1].roundOrder[nowStatus.currentOrderIndex] - 1].pointsHeldOver;
     maxHoldOverLabel.Text  = theRounds[nowStatus.round - 1].maxHoldOverPoints.ToString();
     errorMessageLabel.Text = "";
     BindGrid();
 }
コード例 #5
0
        public static Team[] loadTeamsForBracketView(int bracketId)
        {
            string DB = HttpContext.Current.Server.MapPath(SETPATH);

            dbConnect = new OleDbConnection(CONNECTSTRING + DB);

            OleDbDataAdapter dbadapter;
            DataSet          clubdataset;

            OleDbCommand olecommand = new OleDbCommand("getBracketOfTeams", dbConnect);

            olecommand.CommandType = CommandType.StoredProcedure;

            OleDbParameter parameters = new OleDbParameter("@BracketId", OleDbType.Integer);

            parameters.Value = bracketId;
            olecommand.Parameters.Add(parameters);

            dbadapter = new OleDbDataAdapter(olecommand);

            clubdataset = new DataSet();
            dbadapter.Fill(clubdataset, "clubsdata");

            DataTable teamsTable = clubdataset.Tables["clubsdata"];

            int recordCount = teamsTable.Rows.Count;

            Team[] theTeams = new Team[recordCount];

            CurrentStatus nowStatus = new CurrentStatus();

            for (int i = 0; i < recordCount; i++)
            {
                theTeams[i]                = new Team();
                theTeams[i].sCurveRank     = Convert.ToInt32(teamsTable.Rows[i]["SCurveRank"]);
                theTeams[i].teamName       = teamsTable.Rows[i]["TeamName"].ToString();
                theTeams[i].bracket        = teamsTable.Rows[i]["Bracket"].ToString();
                theTeams[i].bracketId      = Convert.ToInt32(teamsTable.Rows[i]["BracketId"].ToString());
                theTeams[i].eliminated     = ((bool)teamsTable.Rows[i]["Eliminated"]);
                theTeams[i].rank           = Convert.ToInt32(teamsTable.Rows[i]["TeamRank"].ToString());
                theTeams[i].wins           = Convert.ToInt32(teamsTable.Rows[i]["TeamWins"].ToString());
                theTeams[i].losses         = Convert.ToInt32(teamsTable.Rows[i]["TeamLosses"].ToString());
                theTeams[i].cost           = Convert.ToInt32(teamsTable.Rows[i]["Cost"]);
                theTeams[i].pickedByPlayer = Convert.ToInt32(teamsTable.Rows[i]["SelectedBy"].ToString());
            }

            return(theTeams);
        }
コード例 #6
0
        public static Team[] loadTeamCartOfTeams(HttpServerUtility theserver)
        {
            string DB = theserver.MapPath(SETPATH);

            dbConnect = new OleDbConnection(CONNECTSTRING + DB);

            OleDbDataAdapter dbadapter;
            DataSet          clubdataset;

            OleDbCommand olecommand = new OleDbCommand("getTeamCart", dbConnect);

            olecommand.CommandType = CommandType.StoredProcedure;

            dbadapter = new OleDbDataAdapter(olecommand);

            clubdataset = new DataSet();
            dbadapter.Fill(clubdataset, "clubsdata");

            DataTable teamsTable = clubdataset.Tables["clubsdata"];

            int recordCount = teamsTable.Rows.Count;

            Team[] theTeams = new Team[recordCount];

            CurrentStatus nowStatus = new CurrentStatus();

            for (int i = 0; i < recordCount; i++)
            {
                theTeams[i]            = new Team();
                theTeams[i].sCurveRank = Convert.ToInt32(teamsTable.Rows[i]["SCurveRank"]);
                theTeams[i].teamName   = teamsTable.Rows[i]["TeamName"].ToString();
                theTeams[i].bracket    = teamsTable.Rows[i]["Bracket"].ToString();
                theTeams[i].rank       = Convert.ToInt32(teamsTable.Rows[i]["TeamRank"].ToString());
                theTeams[i].wins       = Convert.ToInt32(teamsTable.Rows[i]["TeamWins"].ToString());
                theTeams[i].losses     = Convert.ToInt32(teamsTable.Rows[i]["TeamLosses"].ToString());
                theTeams[i].cost       = Convert.ToInt32(teamsTable.Rows[i]["Cost"]);
            }

            return(theTeams);
        }
コード例 #7
0
        public static Player[] loadPlayersForLobby()
        {
            string DB = HttpContext.Current.Server.MapPath(SETPATH);

            dbConnect = new OleDbConnection(CONNECTSTRING + DB);

            OleDbDataAdapter dbadapter;
            DataSet          clubdataset;

            OleDbCommand olecommand = new OleDbCommand("getAllUsers", dbConnect);

            olecommand.CommandType = CommandType.StoredProcedure;

            dbadapter = new OleDbDataAdapter(olecommand);

            clubdataset = new DataSet();
            dbadapter.Fill(clubdataset, "clubsdata");

            DataTable playerTable = clubdataset.Tables["clubsdata"];

            CurrentStatus nowStatus = loadCurrentStatus();

            int recordCount = playerTable.Rows.Count;

            Player[] thePlayers = new Player[recordCount];

            for (int i = 0; i < recordCount; i++)
            {
                thePlayers[i]                  = new Player();
                thePlayers[i].firstName        = playerTable.Rows[i]["FirstName"].ToString();
                thePlayers[i].lastName         = playerTable.Rows[i]["LastName"].ToString();
                thePlayers[i].pointsHeldOver   = Convert.ToInt32(playerTable.Rows[i]["PointsHeldOver"].ToString());
                thePlayers[i].userId           = Convert.ToInt32(playerTable.Rows[i]["UserId"].ToString());
                thePlayers[i].color            = playerTable.Rows[i]["Color"].ToString();
                thePlayers[i].initialPickOrder = Convert.ToInt32(playerTable.Rows[i]["InitialOrder"].ToString());
            }

            return(thePlayers);
        }
コード例 #8
0
        public static void advanceDraft(Team[] selectedTeams, Player thePlayer, CurrentStatus nowStatus)
        {
            string DB = HttpContext.Current.Server.MapPath(SETPATH);

            dbConnect = new OleDbConnection(CONNECTSTRING + DB);

            string logstring = "<b>Round " + nowStatus.round.ToString() + " - " + thePlayer.firstName + " " + thePlayer.lastName + ":</b> ";

            bool first = true;

            foreach (Team thisTeam in selectedTeams)
            {
                pickATeam(thisTeam, thePlayer);
                if (!first)
                {
                    logstring = logstring + ", ";
                }
                logstring = logstring + thisTeam.teamName + " (" + thisTeam.rank.ToString() + ", " + thisTeam.bracket + ", " + (thisTeam.cost).ToString() + " points)";
                first     = false;
            }

            logstring = logstring + " <i>Left " + thePlayer.pointsHeldOver.ToString() + " points</i>";
            if (nowStatus.currentOrderIndex >= nowStatus.totalPlayers - 1)
            {
                nowStatus.currentOrderIndex = 0;
                nowStatus.round++;
                logstring = logstring + "<br />";
            }
            else
            {
                nowStatus.currentOrderIndex++;
            }

            OleDbCommand   olecommand;
            OleDbParameter parameters;

            if (nowStatus.round <= nowStatus.totalRounds)
            {
                olecommand             = new OleDbCommand("updateStatus", dbConnect);
                olecommand.CommandType = CommandType.StoredProcedure;

                parameters       = new OleDbParameter("@Round", OleDbType.Integer);
                parameters.Value = nowStatus.round;
                olecommand.Parameters.Add(parameters);

                parameters       = new OleDbParameter("@OrderIndex", OleDbType.Integer);
                parameters.Value = nowStatus.currentOrderIndex;
                olecommand.Parameters.Add(parameters);
            }
            else
            {
                olecommand             = new OleDbCommand("finishDraft", dbConnect);
                olecommand.CommandType = CommandType.StoredProcedure;
            }

            olecommand.Connection.Open();

            olecommand.ExecuteNonQuery();

            dbConnect.Close();

            olecommand             = new OleDbCommand("updateUserStatus", dbConnect);
            olecommand.CommandType = CommandType.StoredProcedure;

            parameters       = new OleDbParameter("@PointsHeldOver", OleDbType.Integer);
            parameters.Value = thePlayer.pointsHeldOver;
            olecommand.Parameters.Add(parameters);

            parameters       = new OleDbParameter("@UserId", OleDbType.Integer);
            parameters.Value = thePlayer.userId;
            olecommand.Parameters.Add(parameters);

            olecommand.Connection.Open();

            olecommand.ExecuteNonQuery();

            dbConnect.Close();
            writeToLog(logstring);

            if (nowStatus.round > nowStatus.totalRounds)
            {
                runEndOfDraftLottery();
            }
        }
コード例 #9
0
        public static Round[] loadRoundsForLobby()
        {
            string DB = HttpContext.Current.Server.MapPath(SETPATH);

            dbConnect = new OleDbConnection(CONNECTSTRING + DB);

            OleDbDataAdapter dbadapter;
            DataSet          clubdataset;

            OleDbCommand olecommand = new OleDbCommand("getAllRounds", dbConnect);

            olecommand.CommandType = CommandType.StoredProcedure;

            dbadapter = new OleDbDataAdapter(olecommand);

            clubdataset = new DataSet();
            dbadapter.Fill(clubdataset, "clubsdata");

            DataTable roundTable = clubdataset.Tables["clubsdata"];

            CurrentStatus nowStatus = loadCurrentStatus();

            int recordCount = roundTable.Rows.Count;

            Round[] theRounds = new Round[recordCount];

            for (int i = 0; i < recordCount; i++)
            {
                theRounds[i]                   = new Round();
                theRounds[i].roundNumber       = Convert.ToInt32(roundTable.Rows[i]["RoundNo"].ToString());
                theRounds[i].pointsToSpend     = Convert.ToInt32(roundTable.Rows[i]["PointsToSpend"].ToString());
                theRounds[i].maxHoldOverPoints = Convert.ToInt32(roundTable.Rows[i]["MaxHoldOverPoints"].ToString());
                theRounds[i].roundOrder        = new int[nowStatus.totalPlayers];

                if ((theRounds[i].roundNumber % 4) == 1)
                {
                    for (int j = 1; j <= nowStatus.totalPlayers; j++)
                    {
                        theRounds[i].roundOrder[j - 1] = j;
                    }
                }

                if ((theRounds[i].roundNumber % 4) == 2)
                {
                    for (int j = 1; j <= nowStatus.totalPlayers; j++)
                    {
                        theRounds[i].roundOrder[j - 1] = nowStatus.totalPlayers + 1 - j;
                    }
                }

                if ((theRounds[i].roundNumber % 4) == 3)
                {
                    for (int j = 1; j <= nowStatus.totalPlayers; j++)
                    {
                        if (j <= (nowStatus.totalPlayers / 2) + (nowStatus.totalPlayers % 2))
                        {
                            theRounds[i].roundOrder[j - 1] = nowStatus.totalPlayers / 2 + j;
                        }
                        else
                        {
                            theRounds[i].roundOrder[j - 1] = nowStatus.totalPlayers / 2 - (nowStatus.totalPlayers - j);
                        }
                    }
                }

                if ((theRounds[i].roundNumber % 4) == 0)
                {
                    for (int j = 1; j <= nowStatus.totalPlayers; j++)
                    {
                        if (j <= (nowStatus.totalPlayers / 2))
                        {
                            theRounds[i].roundOrder[j - 1] = nowStatus.totalPlayers / 2 - j + 1;
                        }
                        else
                        {
                            theRounds[i].roundOrder[j - 1] = nowStatus.totalPlayers / 2 + (nowStatus.totalPlayers - j) + 1;
                        }
                    }
                }
            }
            return(theRounds);
        }
コード例 #10
0
        public void submitPage(Object s, System.EventArgs e)
        {
            if (Page.IsValid)
            {
                nowStatus  = CommonMethods.loadCurrentStatus();
                theRounds  = CommonMethods.loadRoundsForLobby();
                thePlayers = CommonMethods.loadPlayersForLobby();

                ArrayList tempSelectedTeams = new ArrayList();

                Team[] selectedTeams;

                foreach (DataGridItem thisItem in teamList.Items)
                {
                    CheckBox chkSelectTeam  = thisItem.FindControl("chkSelectTeam") as CheckBox;
                    Label    lblSCurveRank  = thisItem.FindControl("lblSCurveRank") as Label;
                    Label    lblTeamRank    = thisItem.FindControl("lblTeamRank") as Label;
                    Label    lblBracketId   = thisItem.FindControl("lblBracketId") as Label;
                    Label    lblSchool      = thisItem.FindControl("lblSchool") as Label;
                    Label    lblWins        = thisItem.FindControl("lblWins") as Label;
                    Label    lblLosses      = thisItem.FindControl("lblLosses") as Label;
                    Label    lblCost        = thisItem.FindControl("lblCost") as Label;
                    Label    lblBracketName = thisItem.FindControl("lblBracketName") as Label;

                    if (chkSelectTeam.Checked)
                    {
                        Team thisTeam = new Team();
                        thisTeam.sCurveRank = Convert.ToInt32(lblSCurveRank.Text);
                        thisTeam.bracket    = lblBracketName.Text;
                        thisTeam.wins       = int.Parse(lblWins.Text);
                        thisTeam.losses     = int.Parse(lblLosses.Text);
                        thisTeam.teamName   = lblSchool.Text;
                        thisTeam.bracketId  = int.Parse(lblBracketId.Text);
                        thisTeam.cost       = Convert.ToInt32(lblCost.Text);

                        thisTeam.rank = int.Parse(lblTeamRank.Text);

                        tempSelectedTeams.Add(thisTeam);
                    }
                }

                selectedTeams = (Team[])tempSelectedTeams.ToArray(typeof(Team));

                Player mePlayer = thePlayers[theRounds[nowStatus.round - 1].roundOrder[nowStatus.currentOrderIndex] - 1];
                userId          = Convert.ToInt32(Request.QueryString["userId"]);
                pointsAvailable = Convert.ToInt32(pointsAvailableLabel.Text);
                if (pointsAvailable <= theRounds[nowStatus.round - 1].maxHoldOverPoints)
                {
                    int pointCheck = pointsAvailable;
                    foreach (Team a in selectedTeams)
                    {
                        pointCheck = pointCheck + (a.cost);
                    }

                    if (selectedTeams.Length > 0 && pointCheck == theRounds[nowStatus.round - 1].pointsToSpend + thePlayers[theRounds[nowStatus.round - 1].roundOrder[nowStatus.currentOrderIndex] - 1].pointsHeldOver)
                    {
                        mePlayer.pointsHeldOver = pointsAvailable;
                        CommonMethods.advanceDraft(selectedTeams, mePlayer, nowStatus);
                        Response.Redirect("lobby.aspx?userId=" + userId);
                    }
                    else
                    {
                        teamTable              = CommonMethods.loadUnselectedTeams(Server);
                        nowStatus              = CommonMethods.loadCurrentStatus();
                        pointsAvailable        = theRounds[nowStatus.round - 1].pointsToSpend + thePlayers[theRounds[nowStatus.round - 1].roundOrder[nowStatus.currentOrderIndex] - 1].pointsHeldOver;
                        maxHoldOverLabel.Text  = theRounds[nowStatus.round - 1].maxHoldOverPoints.ToString();
                        errorMessageLabel.Text = "A timeout has occured.  Please make your selections again.";
                        BindGrid();
                    }
                }
                else
                {
                    errorMessageLabel.Text = "You can only hold over " + theRounds[nowStatus.round - 1].maxHoldOverPoints.ToString() + " points.";
                }
            }
        }
コード例 #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _currentStatus = CommonMethods.loadCurrentStatus();
            _rounds        = CommonMethods.loadRoundsForLobby();
            _userId        = Convert.ToInt32(Request.QueryString["userId"]);

            int currentPickOrder = _rounds[_currentStatus.round - 1].roundOrder[_currentStatus.currentOrderIndex];

            // Load up the players
            _players = new Dictionary <int, Player>();
            foreach (Player player in CommonMethods.loadPlayersForLobby())
            {
                _players.Add(player.userId, player);

                if (player.initialPickOrder == currentPickOrder)
                {
                    _currentStatus.currentUserId = player.userId;
                }
            }

            if (CurrentStatus.currentUserId != UserId)
            {
                Response.Redirect(string.Format("lobby.aspx?userid={0}", UserId));
            }

            List <Team> allTeams = new List <Team>();

            Team[] teams = CommonMethods.loadTeamsForBracketView(1);
            _bracketOneTeams = CommonMethods.SortTeamsByRank(teams);
            BuildBracket(_bracketOneTeams, placeholderBracket1);
            allTeams.AddRange(teams);

            teams            = CommonMethods.loadTeamsForBracketView(2);
            _bracketTwoTeams = CommonMethods.SortTeamsByRank(teams);
            BuildBracket(_bracketTwoTeams, placeholderBracket2);
            allTeams.AddRange(teams);

            teams = CommonMethods.loadTeamsForBracketView(3);
            _bracketThreeTeams = CommonMethods.SortTeamsByRank(teams);
            BuildBracket(_bracketThreeTeams, placeholderBracket3);
            allTeams.AddRange(teams);

            teams             = CommonMethods.loadTeamsForBracketView(4);
            _bracketFourTeams = CommonMethods.SortTeamsByRank(teams);
            BuildBracket(_bracketFourTeams, placeholderBracket4);
            allTeams.AddRange(teams);

            allTeams.Sort(delegate(Team l, Team r) { return(l.sCurveRank.CompareTo(r.sCurveRank)); });

            _allTeamsBySCurveRank = new Dictionary <int, Team>();
            foreach (Team team in allTeams)
            {
                _allTeamsBySCurveRank.Add(team.sCurveRank, team);
            }

            _bracketOneName   = CommonMethods.loadBracketName(1);
            _bracketTwoName   = CommonMethods.loadBracketName(2);
            _bracketThreeName = CommonMethods.loadBracketName(3);
            _bracketFourName  = CommonMethods.loadBracketName(4);

            _allTeamsArray = allTeams.ToArray();
        }