private void promptToDelete() { if (lvMappings.SelectedItems.Count > 0) { var total = 0; var fmb = new frmMessageBox(); fmb.btnYes.Text = "&Delete"; fmb.btnNo.Text = "&Cancel"; fmb.Text = "Delete Table Mapping(s)?"; var sb = new StringBuilder(); sb.AppendLine("Are you sure you want to delete table mappings for the following tables?\r\n"); foreach (ListViewItem lvi in lvMappings.SelectedItems) { sb.AppendLine(" " + lvi.Text); } fmb.txtMessage.Text = sb.ToString(); if (DialogResult.Yes == fmb.ShowDialog(this)) { //if (DialogResult.Yes == MessageBox.Show(this, "Are you sure you want to delete table mapping(s)?", "Delete Table Mapping(s)?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { foreach (ListViewItem lvi in lvMappings.SelectedItems) { try { AdminProxy.DeleteTableMapping(Toolkit.ToInt32(lvi.Tag, -1), false); total++; } catch (Exception ex) { if (ex.Message.Contains("delete the table mapping")) { fmb.btnYes.Text = "Continue &Deleting"; fmb.Text = "Remove References and Continue Delete?"; fmb.txtMessage.Text = ex.Message + "\r\n\r\nDo you want to remove the reference(s) and continue deleting " + lvi.Text + "?"; if (DialogResult.Yes == fmb.ShowDialog(this)) { //if (DialogResult.Yes == MessageBox.Show(this, ex.Message + "\r\n\r\nDo you want to remove the reference(s) and continue deleting " + lvi.Text + "?", "Remove References and Continue Delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { AdminProxy.DeleteTableMapping(Toolkit.ToInt32(lvi.Tag, -1), true); total++; } else { // nothing to do } } else { throw; } } } MainFormUpdateStatus(getDisplayMember("promptToDelete{done}", "Deleted {0} table mapping(s)", total.ToString("###,##0")), true); RefreshData(); } } }