private void EditProductButton_Click(object sender, EventArgs e)
        {
            //get the key of the current product in the data grid view
            int    rowNum = productDataGridView.CurrentCell.RowIndex;
            string prodID = productDataGridView["dataGridViewTextBoxColumn1", rowNum].Value.ToString();
            //create a current product object
            Product existingProduct;

            using (ProductsDataContext dataContext = new ProductsDataContext())
            {
                existingProduct = (from p in dataContext.Products
                                   where p.ProductId.ToString() == prodID
                                   select p).Single();
            }
            //instantiate the addeditproductsForm
            AddEditProductsForm addEditForm = new AddEditProductsForm();

            addEditForm.EditMode        = true;                            //editing products
            addEditForm.existingProduct = existingProduct;
            DialogResult result = addEditForm.ShowDialog();                // display second form modal

            if (result == DialogResult.OK || result == DialogResult.Retry) // successful update or concurrency exception
            {
                ReloadGridView();
            }
        }
        private void AddProductsButton_Click(object sender, EventArgs e)
        {
            AddEditProductsForm addEditForm = new AddEditProductsForm();

            addEditForm.EditMode        = false;
            addEditForm.existingProduct = null;
            DialogResult result = addEditForm.ShowDialog(); // display second form modal

            if (result == DialogResult.OK)                  // new row got inserted
            {
                ReloadGridView();
            }
        }