private void addPurchaseButton_Click(object sender, EventArgs e)
        {
            AddPurchaseUi addPurchaseUi = new AddPurchaseUi();

            addPurchaseUi.Show();
        }
        private void purchaseDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            AddPurchaseUi addPurchaseUi = new AddPurchaseUi(this);

            if (purchaseDataGridView.Columns[e.ColumnIndex].Name == "Edit")
            {
                MessageBox.Show("edit");

                try
                {
                    if (e.RowIndex >= 0)
                    {
                        if (purchaseDataGridView.CurrentRow != null)
                        {
                            purchaseDataGridView.CurrentRow.Selected = true;
                        }

                        //id
                        addPurchaseUi.purchaseDateTimePicker.Text = purchaseDataGridView.Rows[e.RowIndex].Cells[2].Value.ToString();
                        addPurchaseUi.billNoTextBox.Text          = purchaseDataGridView.Rows[e.RowIndex].Cells[3].Value.ToString();

                        addPurchaseUi.supplierComboBox.SelectedValue = Convert.ToInt32(purchaseDataGridView.Rows[e.RowIndex].Cells[4].Value);

                        //product id
                        int id = Convert.ToInt32(purchaseDataGridView.Rows[e.RowIndex].Cells[5].Value);

                        //get category id by product id
                        int catId = _categoryManager.GetCategoryIdByProductId(id);

                        //set value to category combobox
                        addPurchaseUi.categoryComboBox.SelectedValue = catId;

                        //set value to product combobox
                        addPurchaseUi.productComboBox.SelectedValue = id;


                        addPurchaseUi.codeTextBox.Text = purchaseDataGridView.Rows[e.RowIndex].Cells[6].Value.ToString();
                        addPurchaseUi.manufacturedDateTimePicker.Text = purchaseDataGridView.Rows[e.RowIndex].Cells[7].Value.ToString();
                        addPurchaseUi.expireDateTimePicker.Text       = purchaseDataGridView.Rows[e.RowIndex].Cells[8].Value.ToString();
                        addPurchaseUi.quantityTextBox.Text            = purchaseDataGridView.Rows[e.RowIndex].Cells[9].Value.ToString();
                        addPurchaseUi.unitPriceTextBox.Text           = purchaseDataGridView.Rows[e.RowIndex].Cells[10].Value.ToString();
                        addPurchaseUi.totalPriceTextBox.Text          = purchaseDataGridView.Rows[e.RowIndex].Cells[11].Value.ToString();
                        addPurchaseUi.mrpTextBox.Text     = purchaseDataGridView.Rows[e.RowIndex].Cells[12].Value.ToString();
                        addPurchaseUi.remarksTextBox.Text = purchaseDataGridView.Rows[e.RowIndex].Cells[13].Value.ToString();
                        //MessageBox.Show(Sl + "");


                        addPurchaseUi.addButton.Text = @"Update";

                        addPurchaseUi.Show();
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }
            }
            if (purchaseDataGridView.Columns[e.ColumnIndex].Name == "Delete")
            {
                DialogResult dialogResult;
                dialogResult = MessageBox.Show(@"Are you sure, you want to delete this record?", @"Message Box", MessageBoxButtons.YesNo,
                                               MessageBoxIcon.Question);
                if (dialogResult == DialogResult.Yes)
                {
                    addPurchaseUi.codeTextBox.Text = purchaseDataGridView.Rows[e.RowIndex].Cells[6].Value.ToString();
                    int      index     = 0;
                    Purchase purchase1 = new Purchase();

                    foreach (var itemPurchase in _purchases)
                    {
                        if (itemPurchase.Code == addPurchaseUi.codeTextBox.Text)
                        {
                            purchase1 = _purchases.ElementAt(index);
                            break;
                        }
                        index++;
                    }
                    _purchases.Remove(purchase1);
                    purchaseDataGridView.DataSource = null;
                    purchaseDataGridView.DataSource = _purchases;

                    addPurchaseUi.ClearAllTextBox();

                    // get next purchase code
                    GeneratePurchaseCodeBeforeSubmit();
                }
            }
        }