/** * Hanles deleting a user * * return {void} */ protected void grdUsers_RowDeleting(object sender, GridViewDeleteEventArgs e) { //get the row that was clicked int SelectedRow = e.RowIndex; //get the selected user id string UserID = Convert.ToString(grdUsers.DataKeys[SelectedRow].Values["Id"]); //find and delete user using (GameTrackerConn db = new GameTrackerConn()) { AspNetUser deletedUser = (from AspNetUser in db.AspNetUsers where AspNetUser.Id == UserID select AspNetUser).FirstOrDefault(); //perform removal db.AspNetUsers.Remove(deletedUser); //save changes db.SaveChanges(); //refresh users list this.GetUsers(); } }
/** * <summary> * This event handler deletes a student from the db using EF * </summary> * * @method GamesGridView_RowDeleting * @param {object} sender * @param {GridViewDeleteEventArgs} e * @returns {void} */ protected void GamesGridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { // store which row was clicked int selectedRow = e.RowIndex; // get the selected GameID using the Grid's DataKey collection int GameID = Convert.ToInt32(GamesGridView.DataKeys[selectedRow].Values["GameID"]); // use EF to find the selected student in the DB and remove it using (GameTrackerConn db = new GameTrackerConn()) { // create object of the Student class and store the query string inside of it Game deletedGame = (from gameRecords in db.Games where gameRecords.GameID == GameID select gameRecords).FirstOrDefault(); // remove the selected student from the db db.Games.Remove(deletedGame); // save my changes back to the database db.SaveChanges(); // refresh the grid this.GetGames(); } }
/** * <summary> * This methods populates a dropdown list with values from the Teams table. * Optional: if valueToRemove is passed to the method, it will be removed from the dropdown list. * Preserves the previously selected value. * </summary> * * @method setupDdlTeam * @param {DropDownList} ddl * @param {int} valueToRemove * @param {int} selectedValue * @returns {void} */ private void setupDdlTeam(DropDownList ddl, int valueToRemove = -1, int selectedValue = -1) { using (var db = new GameTrackerConn()) { // Populate item list from the db ddl.DataSource = (from team in db.Teams orderby team.name select new { team.Id, team.name }).ToList(); ddl.DataTextField = "name"; ddl.DataValueField = "Id"; ddl.DataBind(); // Insert a dummy item ddl.Items.Insert(0, new ListItem("Select a team ...", "0")); // Remove an item, if necessary if (valueToRemove > 0) { ddl.Items.Remove(ddl.Items.FindByValue(valueToRemove.ToString())); } // Restore previous selection, if any if (selectedValue != valueToRemove) { ddl.SelectedValue = selectedValue.ToString(); } } }
/** * Handles saving a user * * return {void} */ protected void SaveButton_Click(object sender, EventArgs e) { using (GameTrackerConn db = new GameTrackerConn()) { AspNetUser newUser = new AspNetUser(); string UserID = ""; if (Request.QueryString.Count > 0) { UserID = Convert.ToString(Request.QueryString["Id"]); newUser = (from AspNetUser in db.AspNetUsers where AspNetUser.Id == UserID select AspNetUser).FirstOrDefault(); } newUser.UserName = txtUsername.Text; newUser.Email = txtEmail.Text; //save updates db.SaveChanges(); Response.Redirect("~/Users/UserDashboard.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { if ((!IsPostBack) && (Request.QueryString.Count > 0)) { this.GetGame(); } else { using (GameTrackerConn db = new GameTrackerConn()) { DataTable playerTable = new DataTable(); playerTable.Columns.Add(new DataColumn("Name")); playerTable.Columns.Add(new DataColumn("PlayerID")); foreach (Player p in db.Players) { playerTable.Rows.Add(p.Name, p.PlayerID.ToString()); } APlayerDropDownList.DataSource = playerTable; APlayerDropDownList.DataTextField = playerTable.Columns["Name"].ToString(); APlayerDropDownList.DataValueField = playerTable.Columns["PlayerID"].ToString(); APlayerDropDownList.DataBind(); BPlayerDropDownList.DataSource = playerTable; BPlayerDropDownList.DataTextField = playerTable.Columns["Name"].ToString(); BPlayerDropDownList.DataValueField = playerTable.Columns["PlayerID"].ToString(); BPlayerDropDownList.DataBind(); } } }
protected void GetGame() { //populate form with existing Game record int GameID = Convert.ToInt32(Request.QueryString["GameID"]); //connect to database with ef using (GameTrackerConn db = new GameTrackerConn()) { //populate Game instance with Game id with url param Game updatedGame = (from game in db.Games where game.GameID == GameID select game).FirstOrDefault(); if (updatedGame != null) { NameTextBox.Text = updatedGame.Name.ToString(); DescriptionTextBox.Text = updatedGame.Description.ToString(); SpectatorsTextBox.Text = updatedGame.Spectators.ToString(); DatePlayedTextBox.Text = updatedGame.DatePlayed.ToString("yyyy-MM-dd"); var playerA = (from G in db.Games join S in db.Scores on G.GameID equals S.Game_ID join P in db.Players on S.Player_ID equals P.PlayerID where S.Game_ID == GameID orderby P.PlayerID ascending select new { P.PlayerID, P.Name, S.Win }).First(); var playerB = (from G in db.Games join S in db.Scores on G.GameID equals S.Game_ID join P in db.Players on S.Player_ID equals P.PlayerID where S.Game_ID == GameID orderby P.PlayerID descending select new { P.PlayerID, P.Name, S.Win }).First(); DataTable playerATable = new DataTable(); playerATable.Columns.Add(new DataColumn("Name")); playerATable.Columns.Add(new DataColumn("PlayerID")); playerATable.Rows.Add(playerA.Name, playerA.PlayerID.ToString()); APlayerDropDownList.DataSource = playerATable; APlayerDropDownList.DataTextField = playerATable.Columns["Name"].ToString(); APlayerDropDownList.DataValueField = playerATable.Columns["PlayerID"].ToString(); APlayerDropDownList.DataBind(); AWinsTextBox.Text = playerA.Win.ToString(); DataTable playerBTable = new DataTable(); playerBTable.Columns.Add(new DataColumn("Name")); playerBTable.Columns.Add(new DataColumn("PlayerID")); playerBTable.Rows.Add(playerB.Name, playerB.PlayerID.ToString()); BPlayerDropDownList.DataSource = playerBTable; BPlayerDropDownList.DataTextField = playerBTable.Columns["Name"].ToString(); BPlayerDropDownList.DataValueField = playerBTable.Columns["PlayerID"].ToString(); BPlayerDropDownList.DataBind(); BWinsTextBox.Text = playerB.Win.ToString(); } } }
/** * <summary> * Gets the most recent games * </summary> * * @returns {void} */ private void GetMostRecentGames() { LastWeekButton.Enabled = true; NextWeekButton.Enabled = true; using (var db = new GameTrackerConn()) { var games = (from game in db.Games select game).OrderBy(game => game.gameDate).ToList(); // Get the first/last game weeks var firstWeek = games[0].gameDate; var lastWeek = games[games.Count - 1].gameDate; // Update currentWeek currentWeek = firstWeek.AddDays(timeToAddOrSubtract); // Disable pagination if no more data available if (currentWeek <= firstWeek) { LastWeekButton.Enabled = false; } if (currentWeek.AddDays(7) >= lastWeek) { NextWeekButton.Enabled = false; } //iterates through game data if (games.Count != 0) { foreach (Game game in games) { if (game.gameDate >= currentWeek && game.gameDate < currentWeek.AddDays(7)) { //gets associated home team var teamHome = (from team in db.Teams where game.FK_homeTeam == team.Id select team).FirstOrDefault(); //gets associated away team var teamAway = (from team in db.Teams where game.FK_awayTeam == team.Id select team).FirstOrDefault(); // Render game data displayGame(game, teamHome, teamAway); } } } else { var lblNoGames = new Label(); lblNoGames.Text = "Sorry, no Games were played this week"; GameStats.Controls.Add(lblNoGames); } } }
/** * Gets Users * * return {void} */ protected void GetUsers() { string sortString = Session["SortColumn"].ToString() + " " + Session["SortDirection"].ToString(); using (GameTrackerConn db = new GameTrackerConn()) { var Users = (from AspNetUsers in db.AspNetUsers select AspNetUsers); grdUsers.DataSource = Users.AsQueryable().OrderBy(sortString).ToList(); grdUsers.DataBind(); } }
/** * <summary> * This method gets the student data from the DB * </summary> * * @method GetGames * @returns {void} */ protected void GetGames() { // connect to EF using (GameTrackerConn db = new GameTrackerConn()) { string SortString = Session["SortColumn"].ToString() + " " + Session["SortDirection"].ToString(); // query the Gridview_template_item_view1 Table using EF and LINQ var GamesList = (from allGames in db.Games select allGames); // bind the result to the GridView GamesGridView.DataSource = GamesList.AsQueryable().OrderBy(SortString).ToList(); GamesGridView.DataBind(); } }
/** * Gets specified user * return {void} */ protected void GetUser() { string UserID = Convert.ToString(Request.QueryString["Id"]); //connect to ef using (GameTrackerConn db = new GameTrackerConn()) { AspNetUser updatedUser = (from AspNetUser in db.AspNetUsers where AspNetUser.Id == UserID select AspNetUser).FirstOrDefault(); //map user to text fields if (updatedUser != null) { txtUsername.Text = updatedUser.UserName; txtEmail.Text = updatedUser.Email; } } }
protected void SaveButton_Click(object sender, EventArgs e) { // Use EF to connect to the server using (GameTrackerConn db = new GameTrackerConn()) { // use the Game model to create a new Game object and // save a new record Game newGame = new Game(); int GameID = 0; if (Request.QueryString.Count > 0) // our URL has a GameID in it { // get the id from the URL GameID = Convert.ToInt32(Request.QueryString["GameID"]); // get the current Game from EF DB newGame = (from game in db.Games where game.GameID == GameID select game).FirstOrDefault(); } // add form data to the new Game record newGame.Name = NameTextBox.Text; newGame.Description = DescriptionTextBox.Text; newGame.Spectators = Convert.ToInt32(SpectatorsTextBox.Text); newGame.DatePlayed = Convert.ToDateTime(DatePlayedTextBox.ToString()); // use LINQ to ADO.NET to add / insert new Game into the database if (GameID == 0) { db.Games.Add(newGame); } // save our changes - also updates and inserts db.SaveChanges(); // Redirect back to the updated Games page Response.Redirect("~/Default.aspx"); } }
protected void SaveButton_Click(object sender, EventArgs e) { // Use EF to connect to the server using (GameTrackerConn db = new GameTrackerConn()) { // use the Student model to create a new student object and // save a new record Player newPlayer = new Player(); int PlayerID = 0; if (Request.QueryString.Count > 0) // our URL has a PlayerID in it { // get the id from the URL PlayerID = Convert.ToInt32(Request.QueryString["PlayerID"]); // get the current student from EF DB newPlayer = (from player in db.Players where player.PlayerID == PlayerID select player).FirstOrDefault(); } // add form data to the new student record newPlayer.Name = NameTextBox.Text; newPlayer.Age = Convert.ToInt32(AgeTextBox.Text); newPlayer.Gender = GenderTextBox.Text; // use LINQ to ADO.NET to add / insert new student into the database if (PlayerID == 0) { db.Players.Add(newPlayer); } // save our changes - also updates and inserts db.SaveChanges(); // Redirect back to the updated students page Response.Redirect("~/Players.aspx"); } }
protected void GetPlayer() { //populate form with existing student record int PlayerID = Convert.ToInt32(Request.QueryString["PlayerID"]); //connect to database with ef using (GameTrackerConn db = new GameTrackerConn()) { //populate student instance with student id with url param Player updatedPlayer = (from player in db.Players where player.PlayerID == PlayerID select player).FirstOrDefault(); if (updatedPlayer != null) { NameTextBox.Text = updatedPlayer.Name.ToString(); AgeTextBox.Text = updatedPlayer.Age.ToString(); GenderTextBox.Text = updatedPlayer.Gender.ToString(); } } }
/** * <summary> * Event handler, saves a new team to the database on save button click * </summary> * * @method btnSave_Click * @param {object} sender * @param {EventArgs} e * @returns {void} */ protected void btnSave_Click(object sender, EventArgs e) { Team team = new Team(); team.name = txtTeamName.Text; team.description = txtTeamDescription.Text; // Add a new team using (var db = new GameTrackerConn()) { try { db.Teams.Add(team); db.SaveChanges(); // Display a success message } catch (Exception ex) { // Displayy an error message } } }
/** * <summary> * Event handler, saves a new game to the DB * </summary> * * @method btnSave_Click * @param {object} sender * @param {EventArgs} e * @returns {void} */ protected void btnSave_Click(object sender, EventArgs e) { Game game = new Game(); game.name = txtGameName.Text; game.description = txtGameName.Text; game.FK_homeTeam = Convert.ToInt32(ddlHomeTeam.SelectedValue); game.FK_awayTeam = Convert.ToInt32(ddlAwayTeam.SelectedValue); game.homeTeamScore = Convert.ToInt32(txtHomeTeamScore.Text); game.awayTeamScore = Convert.ToInt32(txtAwayTeamScore.Text); game.numberOfSpectators = Convert.ToInt32(txtNumberOfSpectators.Text); game.FK_winningTeam = Convert.ToInt32(ddlWinningTeam.SelectedValue); game.gameDate = Convert.ToDateTime(txtGameDate.Text); using (var db = new GameTrackerConn()) { try { db.Games.Add(game); db.SaveChanges(); // Display a success message } catch (Exception ex) { // Display an error message } } //reset txt boxes txtGameName.Text = ""; txtGameDescription.Text = ""; txtGameDate.Text = ""; txtAwayTeamScore.Text = ""; txtHomeTeamScore.Text = ""; txtNumberOfSpectators.Text = ""; }