//delete the selected product_supplier from the detail list(Packages_Products_Suppliers table) private void btnRemove_Click(object sender, EventArgs e) { try { foreach (DataGridViewRow row in dgvPackageDetail.SelectedRows) { Product p = ProductDB.GetProductByName(row.Cells[3].Value.ToString()); Supplier s = SupplierDB.GetSupplierByName(row.Cells[4].Value.ToString()); int pkgId; bool pkgOK = Int32.TryParse(cobPackages.SelectedValue.ToString(), out pkgId); Package pkg = PackageDB.GetPackageById(pkgId); string message = "Are you sure you want to remove [" + p.ProdName + " : " + s.SupName + "] from package [" + pkg.PkgName + "]?"; DialogResult button = MessageBox.Show(message, "Confirm Delete", MessageBoxButtons.YesNo); if (button == DialogResult.Yes) { ProductSupplier productSupplier = ProductSupplierDB.GetProductSupplierById(p.ProductId, s.SupplierId); ProductSupplierDB.DeletePackageDetail(productSupplier, pkg); details = PackageDB.GetProductSuppliersByPackage(pkg); } } UpdateBinding(); dgvPackageDetail.ClearSelection(); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } }
//update the display when the package combobox selection changed private void cobPackages_SelectedValueChanged(object sender, EventArgs e) { try { int id; bool parseOK = Int32.TryParse(cobPackages.SelectedValue.ToString(), out id); Package pkg = PackageDB.GetPackageById(id); details = PackageDB.GetProductSuppliersByPackage(pkg); dgvPackageDetail.DataSource = details; } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } }
//add the selected product and supplier from combox to the detail list(Packages_Products_Suppliers table) private void btnAdd_Click(object sender, EventArgs e) { try { int pId; bool pOk = Int32.TryParse(cobProducts.SelectedValue.ToString(), out pId); Product p = ProductDB.GetProductById(pId); int sId; bool sOk = Int32.TryParse(cobSuppliers.SelectedValue.ToString(), out sId); Supplier s = SupplierDB.GetSupplierById(sId); int pkgId; bool pkgOK = Int32.TryParse(cobPackages.SelectedValue.ToString(), out pkgId); Package pkg = PackageDB.GetPackageById(pkgId); PackageDB.InsertDetail(p, s, pkg); details = PackageDB.GetProductSuppliersByPackage(pkg); UpdateBinding(); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } }