// delete button to delete a package private void btnDelete_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Delete " + package.PkgName + "?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { try { if (!PackageDB.DeletePackage(package)) // optimistic concurrency violation { MessageBox.Show("Another user has updated or deleted " + "that package.", "Database Error"); this.GetPackage(package.PackageId); if (package != null) { this.DisplayPackage(); } else { this.ClearControls(); } } else // successful delete { this.ClearControls(); } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } } }
private void btnDeletePkg_Click(object sender, EventArgs e) { if (loggedInAgt == null) { mainForm.btnSignIn_Click(null, null); } else { // Get Selected Package Id int pkgId = (int)pkgNameComboBox.SelectedValue; // Get Selected Package Object var selectedPkg = packageList.SingleOrDefault(p => p.PackageId == pkgId); // Get Data from datagridview int prodSuppId = (int)productSupplierViewModelDataGridView.CurrentRow.Cells[0].Value; var selectedProdSupp = prodSuppList.SingleOrDefault(ps => ps.ProductSupplierId == prodSuppId); var selectedPkgProdSupp = pkgProdSuppList.SingleOrDefault(pps => pps.ProductSupplierId == prodSuppId && pps.PackageId == pkgId); int pkgIdCount = pkgProdSuppList.Where(pps => pps.PackageId == pkgId).Count(); if (pkgIdCount == 1) { // If the packageId is the last one inside the Package_Products_Supplier table // Then we delete that package in the Package Table try { deletePkgProdSupp(selectedPkgProdSupp); if (!PackageDB.DeletePackage(selectedPkg)) { MessageBox.Show("Another user has updated or " + "deleted that Package.", "Database Error"); // Refresh data reloadData(); refreshComboBox(); } else { int index = pkgNameComboBox.Items.IndexOf(selectedPkg); packageList.Remove(selectedPkg); pkgNameComboBox.SelectedIndex = index - 1; refreshComboBox(); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, ex.GetType().ToString()); } } else { deletePkgProdSupp(selectedPkgProdSupp); // If there are 2 or more packageIds inside Package_Products_Supplier, only delete // from the package_products_supplier table, not the Package table } } }
// delete Package private void btnDeletePackage_Click(object sender, EventArgs e) { // get selected package int packageId = Convert.ToInt32(cmbPackageId.Text); List <Package> packageList = PackageDB.GetPackages(packageId); Package package = packageList.First(); // confirm to delete DialogResult result = MessageBox.Show("Delete Package " + package.PackageId + "?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { try { // get current product suppliers List <int> productSupplierIds = new List <int>(); foreach (var product in ProductsInPackageDB.GetProductsFromPackage(packageId)) { productSupplierIds.Remove(product.ProductSupplierId); } // delete products suppliers linked to package Packages_products_suppliersDB.Delete(packageId); foreach (DataGridViewRow item in this.grdProductList.SelectedRows) { grdProductList.Rows.RemoveAt(item.Index); } // delete package PackageDB.DeletePackage(package); MessageBox.Show("Package " + packageId + " deleted successfully"); tabPackageList.SelectTab(0); // go back to list view } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
//delete button pressed in package tab private void btnDeletePackage_Click(object sender, EventArgs e) { //showing delete confrim for user DialogResult result = MessageBox.Show("Are you sure?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); SelectedRowPackage(); if (result == DialogResult.Yes) //user click yes in delete message box { try { if (!PackageDB.DeletePackage(package)) //delete failed in dql database { MessageBox.Show("Another user has updated or deleted package" + package.PkgName, "Datebase Error"); } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } this.DisplayPackages(); this.DisplayPackageProdSup(); } }