//display the selected package and it's details, setup the available products and suppliers in the combo box private void frmPackageDetail_Load(object sender, EventArgs e) { try { details = PackageDB.GetProductSuppliersByPackage(selectedPackage); dgvPackageDetail.DataSource = details; frmPackage.PackageDetailFormat(dgvPackageDetail); packages = PackageDB.GetAllPackages(); cobPackages.DataSource = packages; cobPackages.DisplayMember = "PkgName"; cobPackages.ValueMember = "PackageId"; cobPackages.SelectedValue = selectedPackage.PackageId; products = ProductDB.GetAllProducts(); cobProducts.DataSource = products; cobProducts.DisplayMember = "ProdName"; cobProducts.ValueMember = "ProductId"; int id; bool parseOK = Int32.TryParse(cobProducts.SelectedValue.ToString(), out id); Product p = ProductDB.GetProductById(id); suppliers = PackageDB.GetSuppliersByProductNotInDetails(p, selectedPackage); cobSuppliers.DataSource = suppliers; cobSuppliers.DisplayMember = "SupName"; cobSuppliers.ValueMember = "SupplierId"; cobPackages.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } }
//delete the selected package and it's references private void btnDelete_Click(object sender, EventArgs e) { try { Package selectedPackage = null; foreach (DataGridViewRow row in dgvPackages.SelectedRows) { selectedPackage = new Package(Convert.ToInt32(row.Cells[0].Value.ToString()), row.Cells[1].Value.ToString(), (DateTime?)(row.Cells[2].Value), (DateTime?)(row.Cells[3].Value), row.Cells[4].Value.ToString(), Convert.ToDecimal(row.Cells[5].Value.ToString()), (decimal?)(row.Cells[6].Value)); string message = "Are you sure you want to delete " + selectedPackage.PkgName + "?"; DialogResult button = MessageBox.Show(message, "Confirm Delete", MessageBoxButtons.YesNo); if (button == DialogResult.Yes) { PackageDB.DeletePackage(selectedPackage); packages = PackageDB.GetAllPackages(); } } UpdateBinding(); txtPkgName.Clear(); } catch (Exception ex) { MessageBox.Show("Deleting this package will cause you to lose records in your booking history. \nThe delete action has been suspended. \nPlease contact DBA."); } }
//open a new window that allows the uer to add a new package private void btnAdd_Click(object sender, EventArgs e) { frmAddPackages newForm = new frmAddPackages(); newPackage = newForm.GetNewPackages(); try { if (newPackage != null) { PackageDB.InsertPackage(newPackage); packages = PackageDB.GetAllPackages(); UpdateBinding(); //select on the last row of the list dgvPackages.ClearSelection(); int rowIndex = dgvPackages.Rows.Count - 1; dgvPackages.Rows[rowIndex].Selected = true; //scroll down as well dgvPackages.FirstDisplayedScrollingRowIndex = rowIndex; } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } txtPkgName.Clear(); }
//open a knew window that allow the user to edit the selected package private void btnEdit_Click(object sender, EventArgs e) { Package editedPackage = null; Package oldPackage = null; foreach (DataGridViewRow row in dgvPackages.SelectedRows) { editedPackage = new Package(Convert.ToInt32(row.Cells[0].Value.ToString()), row.Cells[1].Value.ToString(), (DateTime?)row.Cells[2].Value, (DateTime?)row.Cells[3].Value, row.Cells[4].Value.ToString(), Convert.ToDecimal(row.Cells[5].Value.ToString()), (decimal?)(row.Cells[6].Value)); } frmEditPackage newForm = new frmEditPackage(); oldPackage = (Package)editedPackage.Clone(); editedPackage = newForm.GetEditPackage(editedPackage); try { if (!PackageDB.UpdatePackage(oldPackage, editedPackage)) { MessageBox.Show("Another user has updated or " + "deleted that customer.", "Database Error"); } else { selectedId = editedPackage.PackageId; packages = PackageDB.GetAllPackages(); UpdateBinding(); } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } txtPkgName.Clear(); //set the modified row to be selected dgvPackages.ClearSelection(); int rowIndex = -1; foreach (DataGridViewRow row in dgvPackages.Rows) { if (row.Cells[0].Value.ToString().Equals(selectedId.ToString())) { rowIndex = row.Index; break; } } dgvPackages.Rows[rowIndex].Selected = true; dgvPackages.FirstDisplayedScrollingRowIndex = rowIndex; }
//reset the page to page load private void btnClear_Click(object sender, EventArgs e) { try { packages = PackageDB.GetAllPackages(); UpdateBinding(); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } txtPkgName.Clear(); txtPkgName.Select(); }
private void PackageForm_Load(object sender, EventArgs e) { //turn off the form border control this.ControlBox = false; this.MaximizeBox = false; this.MinimizeBox = false; //display all packages data in the datagridview try { packages = PackageDB.GetAllPackages(); UpdateBinding(); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } //format the datagirdviews PackageListFormat(dgvPackages); PackageDetailFormat(dgvPackageDetail); txtPkgName.Select(); }