private void saveOrUpdateButton_Click(object sender, EventArgs e)
        {
            _category.Id   = categoryId;
            _category.Name = nameTextBox.Text;
            _category.Code = codeTextBox.Text;

            if (String.IsNullOrEmpty(_category.Name))
            {
                nameErrorLabel.Text      = @"Name is required !";
                nameErrorLabel.ForeColor = Color.Red;
                nameTextBox.Focus();
                return;
            }
            if (_categoryManager.UniqueName(_category))
            {
                nameErrorLabel.Text      = @"Name is already exits !";
                nameErrorLabel.ForeColor = Color.Red;
                nameTextBox.Focus();
                return;
            }

            if (saveOrUpdateButton.Text == "Save")
            {
                try
                {
                    if (_categoryManager.AddCategory(_category))
                    {
                        //categoryDataGridView.DataSource = _categoryManager.GetAllCategory();
                        categoryUiController.ShowAllCategory();
                        MessageBox.Show(@"Saved Successfully");

                        //Close();
                    }
                    else
                    {
                        MessageBox.Show(@"Save failed");
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }
            }
            else
            {
                try
                {
                    if (_categoryManager.UpdateCategory(_category))
                    {
                        //categoryDataGridView.DataSource = _categoryManager.GetAllCategory();
                        categoryUiController.ShowAllCategory();
                        MessageBox.Show(@"Updated Successfully", @"Info", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        saveOrUpdateButton.Text = @"Save";
                        ClearAllText();
                        Close();
                    }
                    else
                    {
                        MessageBox.Show(@"Update failed");
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }
            }
            ClearAllText();
            GenerateProductCode();
        }