/**
         * <summary>
         * This method saves a new user to the database
         * </summary>
         * @method SaveButton_Click
         * @return {void}
         * */
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            string UserID = "";

            //if updating user
            if (Request.QueryString.Count > 0)
            {
                using (UsersConnection db = new UsersConnection())
                {
                    AspNetUser newUser = new AspNetUser();
                    UserID  = Request.QueryString["Id"].ToString();
                    newUser = (from users in db.AspNetUsers
                               where users.Id == UserID
                               select users).FirstOrDefault();

                    newUser.UserName    = UserNameTextBox.Text;
                    newUser.PhoneNumber = PhoneNumberTextBox.Text;
                    newUser.Email       = EmailTextBox.Text;

                    db.SaveChanges();

                    Response.Redirect("~/Admin/AdminUsers.aspx");
                }
            }

            //if creating a new user
            if (UserID == "")
            {
                // create new userStore and userManager objects
                var userStore   = new UserStore <IdentityUser>();
                var userManager = new UserManager <IdentityUser>(userStore);

                //create a new user object
                var user = new IdentityUser()
                {
                    UserName    = UserNameTextBox.Text,
                    PhoneNumber = PhoneNumberTextBox.Text,
                    Email       = EmailTextBox.Text
                };
                //create new user on db and store the result
                IdentityResult result = userManager.Create(user, PasswordTextBox.Text);
                //check if successfully registered
                if (result.Succeeded)
                {
                    Response.Redirect("~/Admin/AdminUsers.aspx");
                }
                else
                {
                    StatusLabel.Text   = result.Errors.FirstOrDefault();
                    AlertFlash.Visible = true;
                }
            }
        }
        /**
         * <summary>
         * This method deletes a user from the database
         * </summary>
         * @method UsersGridView_RowDeleting
         * @return {void}
         * */
        protected void UsersGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int selectedRow = e.RowIndex;

            string UserID = UsersGridView.DataKeys[selectedRow].Values["Id"].ToString();

            using (UsersConnection db = new UsersConnection())
            {
                AspNetUser deletedUser = (from users in db.AspNetUsers
                                          where users.Id == UserID
                                          select users).FirstOrDefault();

                db.AspNetUsers.Remove(deletedUser);
                db.SaveChanges();
            }
            //refresh user gridview
            this.GetUsers();
        }
        /**
         * <summary>
         * This method saves the changed information of the user to the database
         * </summary>
         * @method SaveButton_Click
         * @return {void}
         * */
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            string UserID = (HttpContext.Current.User.Identity.GetUserId().ToString());

            using (UsersConnection db = new UsersConnection())
            {
                AspNetUser newUser = new AspNetUser();
                newUser = (from users in db.AspNetUsers
                           where users.Id == UserID
                           select users).FirstOrDefault();

                newUser.UserName    = UserNameTextBox.Text;
                newUser.PhoneNumber = PhoneNumberTextBox.Text;
                newUser.Email       = EmailTextBox.Text;

                db.SaveChanges();

                Response.Redirect("~/Default.aspx");
            }
        }