private async Task AddConnectionToGameAsync(Guid userId, Guid gameId) { var player = await _unit.PlayerRepo.SingleAsync(p => p.Id == userId); var game = await _unit.GameRepo.SingleAsync(g => g.Id == gameId); var playerConnections = await GetUserHubsConnections(userId); foreach (var connection in playerConnections) { var gameConn = new GamesConnection() { Game = game, Player = player, ConnectionId = connection }; if (_unit.GameConnections.SingleAsync(gc => gc.UserId == userId && gc.GameId == gameId && gc.ConnectionId == gameConn.ConnectionId) == null) { await _unit.GameConnections.AddAsync(gameConn); _unit.Save(); } } }
private async Task AddConnectionToGameAsync(Guid userId, Guid gameId) { var player = await _unit.PlayerRepo.SingleAsync(p => p.Id == userId); var game = await _unit.GameRepo.SingleAsync(g => g.Id == gameId); var playerConnections = await GetUserHubsConnections(userId); foreach (var connection in playerConnections) { var gameConn = new GamesConnection() { Game = game, Player = player, ConnectionId = connection, UserId = player.Id }; await _unit.GameConnections.AddAsync(gameConn); _unit.Save(); } await AddUserToGroup(gameId, playerConnections); }
/** * <summary> * This event handler saves the updated game data to the database, updating the game's previous data * </summary> * * @method SaveButton_Click * @param {object} sender * @param {EventArgs} e * @returns {void} */ protected void SaveButton_Click(object sender, EventArgs e) { int GameID = Convert.ToInt32(Request.QueryString["GameID"]); using (GamesConnection db = new GamesConnection()) { // use the student model to save a new record GamesTable updatedGameSave = new GamesTable(); updatedGameSave = (from game in db.GamesTables where game.GameID == GameID select game).FirstOrDefault(); updatedGameSave.Description = DescriptionTextBox.Text; updatedGameSave.TeamOneID = Convert.ToInt32(TeamOneDropDown.SelectedValue); updatedGameSave.TeamTwoID = Convert.ToInt32(TeamTwoDropDown.SelectedValue); updatedGameSave.TeamOnePoints = Convert.ToInt32(TeamOnePointsTextBox.Text); updatedGameSave.TeamTwoPoints = Convert.ToInt32(TeamTwoPointsTextBox.Text); updatedGameSave.Spectators = Convert.ToInt32(SpectatorsTextBox.Text); if (TeamOnePointsTextBox.Text == TeamTwoPointsTextBox.Text) { updatedGameSave.Winner = 5; } else if (Convert.ToInt32(TeamOnePointsTextBox.Text) > Convert.ToInt32(TeamTwoPointsTextBox.Text)) { updatedGameSave.Winner = Convert.ToInt32(TeamOneDropDown.SelectedValue); } else { updatedGameSave.Winner = Convert.ToInt32(TeamTwoDropDown.SelectedValue); } // run insert in DB db.SaveChanges(); // redirect to the updated students page Response.Redirect("~/Default.aspx?week=" + updatedGameSave.Week); } }
/** * <summary> * This event handler grabs the data for the game being edited and displays it on the page * </summary> * * @method GetGame * @returns {void} */ protected void GetGame() { int GameID = Convert.ToInt32(Request.QueryString["GameID"]); using (GamesConnection db = new GamesConnection()) { //Populate student object instance with Student ID from URL parameter GamesTable updatedGame = (from game in db.GamesTables where game.GameID == GameID select game).FirstOrDefault(); //Map student properties to form controls if (updatedGame != null) { DescriptionTextBox.Text = updatedGame.Description.ToString(); TeamOneDropDown.SelectedValue = updatedGame.TeamOneID.ToString(); TeamTwoDropDown.SelectedValue = updatedGame.TeamTwoID.ToString(); TeamOnePointsTextBox.Text = updatedGame.TeamOnePoints.ToString(); TeamTwoPointsTextBox.Text = updatedGame.TeamTwoPoints.ToString(); SpectatorsTextBox.Text = updatedGame.Spectators.ToString(); } } }