protected function btnMassDelete_Click($strFormId, $strControlId, $strParameter) { $items = $this->dtgCompany->getSelected('CompanyId'); // Show confirm "Are you sure you want to {delete/edit} these objects?" if (count($items) > 0) { $this->lblMassActionError->Text = ""; if (!$this->dlgMassDelete->Display) { $arrToBeSkipped = array(); foreach ($items as $item) { // Check if any Shipments or Receipts include selected contact if (Shipment::hasCompany($item)) { // append $item to be skipped $arrToBeSkipped[] = $item; } else { $this->arrToDelete[] = $item; } } if (count($arrToBeSkipped) > 0) { if (count($arrToBeSkipped) == 1) { $toBe = 'is'; $ending1 = 'y'; $ending2 = ''; } else { $toBe = 'are'; $ending1 = 'ies'; $ending2 = 's'; } // Show dialog box "There are {number} {entity_type}s that are not able to be deleted. Would you like to continue the deletion process, skipping these items?" $this->dlgMassDelete->Text = sprintf("There %s %s compan%s that %s not able to be deleted.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Would you like to continue the deletion process,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t skipping these item%s?<br />", $toBe, count($arrToBeSkipped), $ending1, $toBe, $ending2); $this->dlgMassDelete->ShowDialogBox(); } else { if (count($this->arrToDelete) > 0) { try { // Get an instance of the database $objDatabase = QApplication::$Database[1]; // Begin a MySQL Transaction to be either committed or rolled back $objDatabase->TransactionBegin(); foreach ($this->arrToDelete as $intCompanyId) { Company::Load($intCompanyId)->Delete(); } $objDatabase->TransactionCommit(); $this->arrToDelete = array(); QApplication::Redirect(''); } catch (QMySqliDatabaseException $objExc) { $objDatabase->TransactionRollback(); throw new QDatabaseException(); } } } // print_r(get_class_methods(get_class($this->dlgDelete)));exit;//$this->dlgDelete->ShowDialogBox() ; } } else { $this->lblMassActionError->Text = "You haven't chosen any Company to Delete"; } }