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(); } }
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); } }
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(); } }
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"); } }
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; }
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"); } }
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; } }