private void promptToDelete() { if (lvValues.SelectedItems.Count > 0) { if (DialogResult.No == MessageBox.Show(this, getDisplayMember("promptToDelete{body}", "Are you sure you want to delete these values?"), getDisplayMember("promptToDelete{title}", "Delete Values?"), MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { return; } else { var delcount = 0; var skipcount = 0; var dtTables = AdminProxy.ListTablesAndDataviewsByCodeGroup(txtName.Text).Tables["list_tables_and_dataviews_by_code_group"]; var tables = new List <string>(); var fields = new List <string>(); foreach (DataRow dr in dtTables.Rows) { var tbl = dr["table_name"].ToString(); if (!String.IsNullOrEmpty(tbl)) { tables.Add(tbl); fields.Add(dr["field_name"].ToString()); } } foreach (ListViewItem lvi in lvValues.SelectedItems) { var rowcount = 0; for (var i = 0; i < tables.Count; i++) { rowcount += AdminProxy.GetCodeValueUsageCount(lvi.Text, tables[i], fields[i]); } if (rowcount > 0) { skipcount++; MessageBox.Show(this, getDisplayMember("promptToDelete{rowcount_body}", "Cannot delete value '{0}'. {1} rows of data are currently using it.", lvi.Text, rowcount.ToString()), getDisplayMember("promptToDelete{rowcount_title}", "Value In Use"), MessageBoxButtons.OK, MessageBoxIcon.Information); } else { AdminProxy.DeleteCodeValue(Toolkit.ToInt32(lvi.Tag, -1), txtName.Text); delcount++; } } if (delcount > 0) { RefreshData(); } MainFormUpdateStatus(getDisplayMember("promptToDelete{deleted}", "Deleted {0} code values, skipped {1}", delcount.ToString(), skipcount.ToString()), true); } } }