private void promptToDelete() { if (lvPerms.SelectedItems.Count > 0) { var total = 0; var fmb = new frmMessageBox(); fmb.Text = "Delete Permission(s)?"; fmb.btnYes.Text = "&Delete"; fmb.btnNo.Text = "&Cancel"; var list = new List <string>(); foreach (ListViewItem lvi in lvPerms.SelectedItems) { list.Add(lvi.Text); } fmb.txtMessage.Text = "Are you sure you want to delete the following permission(s)?\r\n" + String.Join("\r\n", list.ToArray()); if (DialogResult.Yes == fmb.ShowDialog(this)) { foreach (ListViewItem lvi in lvPerms.SelectedItems) { var id = Toolkit.ToInt32(lvi.Tag, -1); try { AdminProxy.DeletePermission(id, false); total++; } catch (Exception ex) { if (ex.Message.Contains("are referencing")) { fmb.txtMessage.Text = ex.Message + "\r\n\r\nDo you want to remove the reference(s) and continue deleting " + lvi.Text + "?"; fmb.Text = "Remove References and Continue Delete?"; fmb.btnYes.Text = "Continue &Deleting"; fmb.btnNo.Text = "&Cancel"; if (DialogResult.Yes == fmb.ShowDialog(this)) { AdminProxy.DeletePermission(id, true); total++; } else { // nothing to do } } else { throw; } } } MainFormRefreshData(); MainFormUpdateStatus(getDisplayMember("promptToDelete{done}", "Deleted {0} permission(s)", total.ToString("###,##0")), true); } //if (DialogResult.Yes == MessageBox.Show(this, "Are you sure you want to delete permission(s)?", "Delete Permission(s)?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { // foreach (ListViewItem lvi in lvPerms.SelectedItems) { // var id = Toolkit.ToInt32(lvi.Tag, -1); // try { // AdminProxy.DeletePermission(id, false); // } catch (InvalidOperationException ioe) { // } // } // MainFormUpdateStatus("Deleted " + lvPerms.SelectedItems.Count + " permissions.", true); // RefreshData(); //} } }