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); } }