/**
         * 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();
            }
        }
Esempio n. 2
0
        /**
         * <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();
            }
        }
Esempio n. 3
0
        /**
         * <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();
                }
            }
        }
Esempio n. 4
0
        /**
         * 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");
            }
        }
Esempio n. 5
0
        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();
                }
            }
        }
Esempio n. 6
0
        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();
                }
            }
        }
Esempio n. 7
0
        /**
         * <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();
            }
        }
Esempio n. 9
0
        /**
         * <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();
            }
        }
Esempio n. 10
0
        /**
         * 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;
                }
            }
        }
Esempio n. 11
0
        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");
            }
        }
Esempio n. 12
0
        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");
            }
        }
Esempio n. 13
0
        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();
                }
            }
        }
Esempio n. 14
0
        /**
         * <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
                }
            }
        }
Esempio n. 15
0
        /**
         * <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 = "";
        }