Exemplo n.º 1
0
        private void btnRemoveItems_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (DataGridViewRow row in gridSelectedItems.Rows)
                {
                    if ((bool)row.Cells["Selected"].Value == true)
                    {
                        int id = (int)row.Cells["ID"].Value;

                        EnquiryBOQItem found = this.BOQ_ITEMS.Where(x => x.ID == id).FirstOrDefault();
                        if (found != null)
                        {
                            this.BOQ_ITEMS.Remove(found);
                        }
                    }
                }
                PopulateSelectedItemsGrid();
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "frmAddEditBOQDesign::btnRemoveItems_Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnRemoveSelectedItem_Click(object sender, EventArgs e)
        {
            string strFilter = string.Empty;
            ServiceSalesEnquiryBOQ serviceDesignBOQ = new ServiceSalesEnquiryBOQ();
            string strMessage = string.Empty;

            try
            {
                if (this.SelectedItemIsAsseblyItem)
                {
                    strFilter = string.Format("[{0}]={1}", serviceDesignBOQ.COL_INDEX, this.SelectedIndexID);
                    DataRow parentRow = BOQSheet.datatableBOQ.Select(strFilter).FirstOrDefault();
                    if (parentRow != null)
                    {
                        strMessage  = "This item is An Assebly Item. Deleting the item will remove all of its childrens\n\n";
                        strMessage += parentRow["ItemDescription"].ToString();
                        DialogResult result = MessageBox.Show(strMessage, "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (result == DialogResult.Yes)
                        {
                            strFilter = string.Format("[{0}]={1}", serviceDesignBOQ.COL_PARENT_ITEM_ID, this.SelectedItemID);
                            DataRow[] childRows = BOQSheet.datatableBOQ.Select(strFilter);
                            foreach (DataRow child in childRows)
                            {
                                BOQSheet.datatableBOQ.Rows.Remove(child);
                                BOQSheet.datatableBOQ.AcceptChanges();
                            }

                            BOQSheet.datatableBOQ.Rows.Remove(parentRow);
                            BOQSheet.datatableBOQ.AcceptChanges();
                            // REMOVE ITEM FROM THE COLLECTION OF BOQ_ITEMS
                            EnquiryBOQItem ITEM = BOQSheet.BOQ_ITEMS.Where(X => X.ID == this.SelectedItemID).FirstOrDefault();
                            if (ITEM != null)
                            {
                                BOQSheet.BOQ_ITEMS.Remove(ITEM);
                            }
                        }
                    }
                }
                else
                {
                    strFilter = string.Format("[{0}]={1}", serviceDesignBOQ.COL_INDEX, this.SelectedIndexID);
                    DataRow delRow = BOQSheet.datatableBOQ.Select(strFilter).FirstOrDefault();
                    if (delRow != null)
                    {
                        DialogResult result = MessageBox.Show(delRow["ItemDescription"].ToString(), "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (result == DialogResult.Yes)
                        {
                            BOQSheet.datatableBOQ.Rows.Remove(delRow);
                            BOQSheet.datatableBOQ.AcceptChanges();
                            // REMOVE ITEM FROM THE COLLECTION OF BOQ_ITEMS
                            EnquiryBOQItem ITEM = BOQSheet.BOQ_ITEMS.Where(X => X.ID == this.SelectedItemID).FirstOrDefault();
                            if (ITEM != null)
                            {
                                BOQSheet.BOQ_ITEMS.Remove(ITEM);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "ControlSalesEnquiryDesignBOQ::btnRemoveSelectedItem_Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }