Beispiel #1
0
        public void handleContestRounds(int i_nContestId, int i_nNumberOfRounds)
        {
            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                var roundsQuery = from p in context.TableHockeyContestRound
                                  where p.ContestId == i_nContestId
                                  select p;

                if (roundsQuery.ToList().Count() != i_nNumberOfRounds)
                {
                    //Number of players or repetitions in current contest has changed,
                    //or a new game had been created.
                    //Drop any existing contest rounds and regenerate.
                    if (roundsQuery.ToList().Count > 0)
                    {
                        foreach (TableHockeyContestRound m_round in (List <TableHockeyContestRound>)roundsQuery.ToList())
                        {
                            foreach (TableHockeyGame m_game in m_round.TableHockeyGame.ToList())
                            {
                                context.TableHockeyGame.Remove(m_game);
                            }
                            context.TableHockeyContestRound.Remove(m_round);
                        }
                        context.SaveChanges();
                    }
                    TableHockeyContestHandler      m_contestHandler             = new TableHockeyContestHandler();
                    List <TableHockeyContestRound> m_lstTableHockeyContestRound = m_contestHandler.getTableHockeyContestRoundList(i_nContestId, i_nNumberOfRounds);
                    foreach (TableHockeyContestRound m_round in m_lstTableHockeyContestRound)
                    {
                        context.TableHockeyContestRound.Add(m_round);
                    }
                }
                context.SaveChanges();
            }
        }
Beispiel #2
0
        private void SaveEnteredGameResults()
        {
            //Get results for each end game uc and update TableHockeyGame table.
            PlaceHolder PlaceHolder1 = (PlaceHolder)Page.Controls[0].FindControl("form1").FindControl("mainContent").FindControl("resultsRepeater").Controls[1].FindControl("PlaceHolder1");

            for (int jCount = 0; jCount < PlaceHolder1.Controls.Count; jCount++)
            {
                uc.ucEndGameSeries ucCurrentEndGameSeries = (uc.ucEndGameSeries)PlaceHolder1.Controls[jCount];
                ucCurrentEndGameSeries.getUCGUI();
                for (int iCount = 0; iCount < ucCurrentEndGameSeries.m_games.Count; iCount++)
                {
                    int  currentHomeScoreEntered = ucCurrentEndGameSeries.m_games[iCount].HomePlayerScore;
                    int  currentAwayScoreEntered = ucCurrentEndGameSeries.m_games[iCount].AwayPlayerScore;
                    int  m_nCurrentGameId        = ucCurrentEndGameSeries.m_games[iCount].GameId;
                    int  m_nCurrentHomePlayerId  = ucCurrentEndGameSeries.m_games[iCount].HomePlayerId;
                    int  m_nCurrentAwayPlayerId  = ucCurrentEndGameSeries.m_games[iCount].AwayPlayerId;
                    bool m_bHasSuddenDeath       = ucCurrentEndGameSeries.m_games[iCount].hasSuddenDeath;
                    using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
                    {
                        var             querySingleGame = context.TableHockeyGame.First(g => g.GameId == m_nCurrentGameId);
                        TableHockeyGame m_currentGame   = (TableHockeyGame)querySingleGame;
                        m_currentGame.HomePlayerScore = currentHomeScoreEntered;
                        m_currentGame.AwayPlayerScore = currentAwayScoreEntered;
                        m_currentGame.hasSuddenDeath  = m_bHasSuddenDeath;
                        m_currentGame.HomePlayerId    = m_nCurrentHomePlayerId;
                        m_currentGame.AwayPlayerId    = m_nCurrentAwayPlayerId;
                        context.SaveChanges();
                    }
                }
            }
        }
        protected void ButtonAddSelectedPlayersToContest_Click(object sender, EventArgs e)
        {
            Dictionary <int, int> m_selectedPlayerIDs = GetCheckedPlayerIndexes(GridViewAvailablePlayers, "checkSelectPlayer");

            if (Session["pgEditContestPlayers.m_nContestId"] != null)
            {
                m_nContestId = Convert.ToInt32(Session["pgEditContestPlayers.m_nContestId"]);
            }
            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                foreach (int m_nPlayerId in m_selectedPlayerIDs.Values)
                {
                    TableHockeyContestPlayer m_contestPlayer = new TableHockeyContestPlayer();
                    m_contestPlayer.ContestId            = m_nContestId;
                    m_contestPlayer.PlayerId             = m_nPlayerId;
                    m_contestPlayer.isDummyContestPlayer = false;
                    context.TableHockeyContestPlayer.Add(m_contestPlayer);
                }
                context.SaveChanges();
            }

            if (m_selectedPlayerIDs.Count > 0)
            {
                populateAvailablePlayers(m_nContestId);
                populateSelectedPlayers(m_nContestId);
            }
        }
        protected void ButtonStartContest_Click(object sender, EventArgs e)
        {
            //Redirect to contest start page.
            if (Session["pgEditContestPlayers.m_nContestId"] != null)
            {
                m_nContestId = Convert.ToInt32(Session["pgEditContestPlayers.m_nContestId"]);
            }

            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                int m_nNumberOfPlayers = context.TableHockeyContestPlayer.Where(c => (c.PlayerId != -1) && (c.ContestId == m_nContestId)).Count();
                //If odd number of players, add extra dummy player (if none exists, shouldn't happen). This is a temporary fix that may be altered in the future. 120507.
                if (PageUtility.isOdd(m_nNumberOfPlayers))
                {
                    TableHockeyContestPlayer m_existingDummyPlayer = context.TableHockeyContestPlayer.FirstOrDefault(c => (c.PlayerId == -1) && (c.ContestId == m_nContestId));
                    if (m_existingDummyPlayer == null)
                    {
                        TableHockeyContestPlayer m_dummyPlayer = new TableHockeyContestPlayer();
                        m_dummyPlayer.ContestId            = m_nContestId;
                        m_dummyPlayer.PlayerId             = -1;
                        m_dummyPlayer.isDummyContestPlayer = true;
                        context.TableHockeyContestPlayer.Add(m_dummyPlayer);
                    }
                    context.SaveChanges();
                }
            }

            Response.Redirect("~/pgEditContestTable.aspx?ContestId=" + m_nContestId);
        }
        protected void ButtonRemoveSelectedPlayersFromContest_Click(object sender, EventArgs e)
        {
            Dictionary <int, int> m_selectedPlayerIDs = GetCheckedPlayerIndexes(GridViewSelectedPlayers, "checkSelectPlayer");

            if (Session["pgEditContestPlayers.m_nContestId"] != null)
            {
                m_nContestId = Convert.ToInt32(Session["pgEditContestPlayers.m_nContestId"]);
            }
            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                foreach (int m_nPlayerId in m_selectedPlayerIDs.Values)
                {
                    if (isPlayerOKToRemoveFromContest(m_nPlayerId, m_nContestId))
                    {
                        TableHockeyContestPlayer m_contestPlayer = context.TableHockeyContestPlayer.First(c => (c.PlayerId == m_nPlayerId) && (c.ContestId == m_nContestId));
                        context.TableHockeyContestPlayer.Remove(m_contestPlayer);
                    }
                }
                context.SaveChanges();
            }
            if (m_selectedPlayerIDs.Count > 0)
            {
                populateAvailablePlayers(m_nContestId);
                populateSelectedPlayers(m_nContestId);
            }
        }
Beispiel #6
0
        private void handleContestGames(TableHockeyContest i_currentContest)
        {
            int i_nContestId = i_currentContest.ContestId;

            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                //Get contest games, if any.
                var gamesQuery = from g in context.TableHockeyGame
                                 where g.ContestId == i_nContestId
                                 select g;

                //Get contest players.
                var playersQuery = from p in context.TableHockeyContestPlayer
                                   where p.ContestId == i_nContestId
                                   select p;

                //Get contest games/players.

                List <TableHockeyGame>          m_games   = (List <TableHockeyGame>)gamesQuery.ToList();
                List <TableHockeyContestPlayer> m_players = (List <TableHockeyContestPlayer>)playersQuery.ToList();

                int m_nCorrectNumberOfUniqueGames = Convert.ToInt32(0.5 * i_currentContest.numberOfRounds * m_players.Count * (m_players.Count - 1));
                if (gamesQuery.ToList().Count != m_nCorrectNumberOfUniqueGames)
                {
                    if (gamesQuery.ToList().Count > 0)
                    {
                        //Game count mismatch. Remove games and re-generate game list.
                        foreach (TableHockeyGame m_game in m_games)
                        {
                            context.TableHockeyGame.Remove(m_game);
                        }
                        context.SaveChanges();
                    }
                    //Generate game list for entire contest.
                    m_games = getTableHockeyGameList(i_currentContest, m_players);
                    foreach (TableHockeyGame m_game in m_games)
                    {
                        context.TableHockeyGame.Add(m_game);
                    }
                }
                context.SaveChanges();
            }
        }
Beispiel #7
0
        private void handleContestGames(TableHockeyContest i_currentContest)
        {
            int i_nContestId = i_currentContest.ContestId;

            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                //Get contest games, if any.
                var gamesQuery = from g in context.TableHockeyGame
                                 where g.ContestId == i_nContestId
                                 select g;

                //Get contest players.
                var playersQuery = from p in context.TableHockeyContestPlayer
                                   where p.ContestId == i_nContestId
                                   select p;

                //Get contest games/players.

                List <TableHockeyGame>          m_games   = (List <TableHockeyGame>)gamesQuery.ToList();
                List <TableHockeyContestPlayer> m_players = (List <TableHockeyContestPlayer>)playersQuery.ToList();
                int m_nCorrectNumberOfGames = calcCorrectNumberOfEndGames(m_players);
                initEndGameQueueHandler(m_players, i_currentContest.numberOfRounds);

                //If we are to add new end games...
                List <TableHockeyGame> m_gamesForCurrentRound = getTableHockeyEndGameListForCurrentRound(i_currentContest, m_players);
                if (gamesQuery.ToList().Count < m_nCorrectNumberOfGames)
                {
                    if (m_games.Where(g => g.TableHockeyContestRoundId == m_gamesForCurrentRound[0].TableHockeyContestRoundId).FirstOrDefault() == null)
                    {
                        m_games.AddRange(m_gamesForCurrentRound);
                        //if (gamesQuery.ToList().Count > 0)
                        //{
                        //    //Game count mismatch. Remove games and re-generate game list.
                        //    foreach (TableHockeyGame m_game in m_games)
                        //    {
                        //        context.TableHockeyGame.Remove(m_game);
                        //    }
                        //    context.SaveChanges();
                        //}
                        foreach (TableHockeyGame m_game in m_games.Where(g => g.GameId == 0))
                        {
                            context.TableHockeyGame.Add(m_game);
                        }
                    }
                }
                context.SaveChanges();
            }
        }
 protected void ButtonDeletePlayer_Click(object sender, EventArgs e)
 {
     if (this.ucEditTableHockeyPlayer1.m_currentPlayer.PlayerId != -1)
     {
         using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
         {
             //Set existing Player to historic.
             TableHockeyPlayer m_currentPlayerSource = this.ucEditTableHockeyPlayer1.m_currentPlayer;
             m_currentPlayerSource.isHistoric = 1;
             TableHockeyPlayer m_currentPlayerDest = context.TableHockeyPlayer.FirstOrDefault(i => i.PlayerId == this.ucEditTableHockeyPlayer1.m_currentPlayer.PlayerId);
             Mapper.Map(m_currentPlayerSource, m_currentPlayerDest);
             context.SaveChanges();
         }
         Response.Redirect("~/pgMain.aspx");
     }
 }
Beispiel #9
0
        protected void ButtonSaveContest_Click(object sender, EventArgs e)
        {
            using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
            {
                if (this.ucEditTableHockeyContest1.m_currentContest.ContestId == -1)
                {
                    //New contest
                    context.TableHockeyContest.Add(this.ucEditTableHockeyContest1.m_currentContest);
                }
                else
                {
                    //Edit existing contest
                    TableHockeyContest m_currentContest = context.TableHockeyContest.FirstOrDefault(i => i.ContestId == this.ucEditTableHockeyContest1.m_currentContest.ContestId);
                    //Mapper.Map(this.ucEditTableHockeyContest1.m_currentContest, m_currentContest);
                    m_currentContest.ContestBinary              = this.ucEditTableHockeyContest1.m_currentContest.ContestBinary;
                    m_currentContest.ContestDateClosed          = this.ucEditTableHockeyContest1.m_currentContest.ContestDateClosed;
                    m_currentContest.ContestDateOpened          = this.ucEditTableHockeyContest1.m_currentContest.ContestDateOpened;
                    m_currentContest.ContestDescription         = this.ucEditTableHockeyContest1.m_currentContest.ContestDescription;
                    m_currentContest.ContestLocation            = this.ucEditTableHockeyContest1.m_currentContest.ContestLocation;
                    m_currentContest.ContestName                = this.ucEditTableHockeyContest1.m_currentContest.ContestName;
                    m_currentContest.GameLengthMinutes          = this.ucEditTableHockeyContest1.m_currentContest.GameLengthMinutes;
                    m_currentContest.isFinalGameContest         = this.ucEditTableHockeyContest1.m_currentContest.isFinalGameContest;
                    m_currentContest.isGoalDifferenceRanked     = this.ucEditTableHockeyContest1.m_currentContest.isGoalDifferenceRanked;
                    m_currentContest.NumberOfPlayersToNextRound = this.ucEditTableHockeyContest1.m_currentContest.NumberOfPlayersToNextRound;
                    m_currentContest.numberOfRounds             = this.ucEditTableHockeyContest1.m_currentContest.numberOfRounds;
                    m_currentContest.PointsLostGame             = this.ucEditTableHockeyContest1.m_currentContest.PointsLostGame;
                    m_currentContest.PointsTiedGame             = this.ucEditTableHockeyContest1.m_currentContest.PointsTiedGame;
                    m_currentContest.PointsWinningGame          = this.ucEditTableHockeyContest1.m_currentContest.PointsWinningGame;
                    //Also update closing date for any linked end game contest!
                    TableHockeyContest m_currentEndGameContest = context.TableHockeyContest.FirstOrDefault(i => i.EndGameForContestId == this.ucEditTableHockeyContest1.m_currentContest.ContestId);
                    if (m_currentEndGameContest != null)
                    {
                        m_currentEndGameContest.ContestDateClosed = this.ucEditTableHockeyContest1.m_currentContest.ContestDateClosed;
                    }
                }
                context.SaveChanges();
                Response.Redirect("~/pgMain.aspx");
            }

            //List<string> list = new List<string>();
            //list.Add("test");
            //list.Where(p => p.StartsWith("t")).ToList();

            //var test = from f in list
            //           where f.StartsWith("t")
            //           select f;
        }
Beispiel #10
0
 private void SaveEnteredGameResults()
 {
     //Get results for each row and update TableHockeyGame table.
     this.ucContestRound1.getUCGUI();
     for (int iCount = 0; iCount < this.ucContestRound1.m_games.Count; iCount++)
     {
         int currentHomeScoreEntered = ucContestRound1.m_games[iCount].HomePlayerScore;
         int currentAwayScoreEntered = ucContestRound1.m_games[iCount].AwayPlayerScore;
         int m_nCurrentGameId        = ucContestRound1.m_games[iCount].GameId;
         using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
         {
             var             querySingleGame = context.TableHockeyGame.First(g => g.GameId == m_nCurrentGameId);
             TableHockeyGame m_currentGame   = (TableHockeyGame)querySingleGame;
             m_currentGame.HomePlayerScore = currentHomeScoreEntered;
             m_currentGame.AwayPlayerScore = currentAwayScoreEntered;
             context.SaveChanges();
         }
     }
 }
 protected void ButtonSavePlayer_Click(object sender, EventArgs e)
 {
     using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
     {
         if (this.ucEditTableHockeyPlayer1.m_currentPlayer.PlayerId == -1)
         {
             //New Player
             TableHockeyPlayer m_newPlayer = this.ucEditTableHockeyPlayer1.m_currentPlayer;
             m_newPlayer.RegisteredByUserId = (Guid)Membership.GetUser(m_sUser.Trim()).ProviderUserKey;
             context.TableHockeyPlayer.Add(m_newPlayer);
         }
         else
         {
             //Edit existing Player
             TableHockeyPlayer m_currentPlayer = context.TableHockeyPlayer.FirstOrDefault(i => i.PlayerId == this.ucEditTableHockeyPlayer1.m_currentPlayer.PlayerId);
             Mapper.Map(this.ucEditTableHockeyPlayer1.m_currentPlayer, m_currentPlayer);
         }
         context.SaveChanges();
         Response.Redirect("~/pgMain.aspx");
     }
 }
Beispiel #12
0
        protected void ButtonEndGame_Click(object sender, EventArgs e)
        {
            int m_nNumberOfRounds = -1;

            if (!int.TryParse(TextBoxEndGameRounds.Text.Trim(), out m_nNumberOfRounds))
            {
                this.cvEndGameRounds.IsValid = false;
                return;
            }

            this.cvEndGameRounds.IsValid = true;
            //Get selected players for end game.
            Dictionary <int, int> m_selectedPlayerIDs = this.ucContestTable1.CheckedPlayersToEndGame;

            if ((m_selectedPlayerIDs != null) && (m_selectedPlayerIDs.Count > 1))
            {
                this.cvEndGamePlayers.IsValid = true;
                if (m_currentContest == null)
                {
                    m_currentContest = (TableHockeyContest)Session["pgEditContestTable.m_currentContest"];
                }

                //Create new end game contest for current contest.
                TableHockeyContestHandler m_handler           = new TableHockeyContestHandler();
                TableHockeyContest        m_newEndGameContest = m_handler.createDefaultEndGameTableHockeyContest(m_currentContest);
                m_newEndGameContest.numberOfRounds = Convert.ToInt32(TextBoxEndGameRounds.Text);
                //Add selected players to end game contest.  Make sure to export final table standing for each player.
                int m_nEndGameContestId = -1;
                using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
                {
                    //Create new end game only if no previous exists.
                    var queryExistingEndGame = context.TableHockeyContest.FirstOrDefault(c => c.EndGameForContestId == m_nContestId);
                    if (queryExistingEndGame == null)
                    {
                        context.TableHockeyContest.Add(m_newEndGameContest);
                        context.SaveChanges();
                    }
                }

                using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
                {
                    //Add new players to end game if none exist.

                    var queryExistingEndGame = context.TableHockeyContest.FirstOrDefault(c => c.EndGameForContestId == m_nContestId);
                    if (queryExistingEndGame != null)
                    {
                        m_nEndGameContestId = queryExistingEndGame.ContestId;
                        var queryExistingPlayers = context.TableHockeyContestPlayer.FirstOrDefault(p => p.ContestId == m_nEndGameContestId);
                        //Only add players if none exist.
                        if (queryExistingPlayers == null)
                        {
                            foreach (KeyValuePair <int, int> kvp in m_selectedPlayerIDs)
                            {
                                TableHockeyContestPlayer m_contestPlayer = new TableHockeyContestPlayer();
                                m_contestPlayer.ContestId             = m_nEndGameContestId;
                                m_contestPlayer.PlayerId              = kvp.Value;
                                m_contestPlayer.FinalPreviousStanding = 1 + kvp.Key;
                                m_contestPlayer.isDummyContestPlayer  = false;
                                context.TableHockeyContestPlayer.Add(m_contestPlayer);
                            }
                            context.SaveChanges();
                        }
                    }
                }
                using (var context = new TableHockeyData.UHSSWEB_DEVEntities())
                {
                    //Create new end game only if no previous exists.
                    var queryExistingEndGame = context.TableHockeyContest.FirstOrDefault(c => c.EndGameForContestId == m_nContestId);
                    if (queryExistingEndGame != null)
                    {
                        TableHockeyContest m_endGame = (TableHockeyContest)queryExistingEndGame;
                        m_nEndGameContestId = m_endGame.ContestId;
                    }
                }
                Response.Redirect("~/pgEditContestTableEndGame.aspx?ContestId=" + m_nEndGameContestId);
            }
            else
            {
                this.cvEndGamePlayers.IsValid = false;
            }
        }