private void btnDelete_Click(object sender, EventArgs e)
        {
            try
            {
                Designaiton oDesignation = new Designaiton();

                if (lsvDesignation.SelectedItems != null && lsvDesignation.SelectedItems.Count > 0)
                {
                    oDesignation = (Designaiton)lsvDesignation.SelectedItems[0].Tag;
                    if (MessageBox.Show("Do you want to delete the selected item?", "Delete Setup", MessageBoxButtons.YesNo,
                                        MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        using (DLMSEntities db = new DLMSEntities())
                        {
                            db.Designaitons.Attach(oDesignation);
                            db.Designaitons.Remove(oDesignation);
                            //Save to database
                            db.SaveChanges();
                        }
                        RefreshList();
                    }
                }
                else
                {
                    MessageBox.Show("select an item to Delete", "Item not yet selected", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Cannot delete item due to " + Ex.Message);
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (!IsValid())
                {
                    return;
                }
                bool isNew = false;
                using (DLMSEntities db = new DLMSEntities())
                {
                    if (_Designation.DesignationID <= 0)
                    {
                        RefreshObject();
                        _Designation.DesignationID = db.Designaitons.Count() > 0 ? db.Designaitons.Max(obj => obj.DesignationID) + 1 : 1;
                        db.Designaitons.Add(_Designation);
                        isNew = true;
                    }
                    else
                    {
                        _Designation = db.Designaitons.FirstOrDefault(obj => obj.DesignationID == _Designation.DesignationID);
                        RefreshObject();
                    }

                    db.SaveChanges();

                    MessageBox.Show("Data saved successfully.", "Save Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    if (!isNew)
                    {
                        if (ItemChanged != null)
                        {
                            ItemChanged();
                        }
                        this.Close();
                    }
                    else
                    {
                        if (ItemChanged != null)
                        {
                            ItemChanged();
                        }
                        _Designation = new Designaiton();
                        RefreshValue();
                        txtCode.Text = GenerateCategoryCode();
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    MessageBox.Show(ex.Message, "Failed to save", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show(ex.InnerException.Message, "Failed to save", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
 public void ShowDlg(Designaiton oDesignation, bool IsNew)
 {
     _IsNew       = IsNew;
     _Designation = oDesignation;
     RefreshValue();
     this.ShowDialog();
 }
        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (lsvDesignation.SelectedItems.Count <= 0)
            {
                MessageBox.Show("select an item to edit", "Item not yet selected", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            Designaiton  oDesignation = null;
            fDesignation frm          = new fDesignation();

            if (lsvDesignation.SelectedItems != null && lsvDesignation.SelectedItems.Count > 0)
            {
                oDesignation = (Designaiton)lsvDesignation.SelectedItems[0].Tag;
            }
            frm.ItemChanged = RefreshList;
            frm.ShowDlg(oDesignation, false);
        }