/// <summary> /// Adding new package accepted /// </summary> private void btnAccept_Click(object sender, EventArgs e) { Package newPkg = Validation(); if (newPkg == null) // validation failed { return; } try { bool success = PackageDB.AddPackage(newPkg); if (success) { this.DialogResult = DialogResult.OK; } else { this.DialogResult = DialogResult.Cancel; } } catch (Exception ex) { MessageBox.Show("Error while adding package.\n" + ex.Message, ex.GetType().ToString()); } }
//*****************SAVE BUTTON(Update and Add)********** private void btnSave_Click(object sender, EventArgs e) { ////Adding if (addPackage) { packageNow = new Packages(); this.PackageData(packageNow); //if (txtPkgName.Text == packageNow.PkgName) //{ // MessageBox.Show("There is already a existing package with this name, please try again"); // this.DialogResult = DialogResult.Retry; //} //else if (txtPkgName.Text != packageNow.PkgName) //only ELSE was giving the error message even if it wasn't equal(duplicate) //{ try { packageNow.PackgeId = PackageDB.AddPackage(packageNow); this.DialogResult = DialogResult.OK; // OK if Insert was successful } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); this.DialogResult = DialogResult.Retry; } //} } ////Update else { Packages packageNow = new Packages(); this.PackageData(packageNow); try { bool success = PackageDB.UpdatePackage(packageOld, packageNow); if (success) { this.DialogResult = DialogResult.OK; } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); this.DialogResult = DialogResult.Retry; } } }
// create new package private void btnSaveNewPackage_Click(object sender, EventArgs e) { // check all input values if (IsValidDataForCreate()) { // check if package end date is greater than start date if (txtPkgStart2.Value > txtPkgEnd2.Value || txtPkgStart2.Value == txtPkgEnd2.Value) { MessageBox.Show("End Date should be greater than Start Date. Please choose a valid date.", "Input Error"); } else { // check if price is greater than commission if (Convert.ToDouble(txtPkgCommission2.Text) > Convert.ToDouble(txtPkgPrice2.Text)) { MessageBox.Show("Commission cannot be greater than the Base Price. Please enter a valid amount.", "Input Error"); } else { try { // set new values var test = newProductPackageBindingSource.DataSource; Package newPackage = new Package(); this.NewPackageData(newPackage); // save package int packageId = PackageDB.AddPackage(newPackage); List <ProductsInPackage> productsInPackages = (List <ProductsInPackage>)newProductPackageBindingSource.DataSource; foreach (var productsInPackage in productsInPackages) { Packages_products_suppliersDB.Add(packageId, productsInPackage.ProductSupplierId); } MessageBox.Show("New package added succesfully"); ClearControls(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } }
/// <summary> /// Katrina: Saves changes to add or modify /// Katrina: Uses validation to check for valid dates, present strings, and number values /// </summary> private void PkgSaveButton_Click(object sender, EventArgs e) { // check if valid before accepting changes -Katrina if (IsValidDates() && IsValidPkgData() && IsValidPrices()) { Console.WriteLine("Dates are valid"); if (addPackage) // if this is Add -Katrina { this.PutPackageData(); try { package.PackageId = PackageDB.AddPackage(package); this.DialogResult = DialogResult.OK; } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } } else // this is Modify -Katrina { // build Package object with the new data -Katrina // Package newPkg = new Package(); package.PackageId = currentPkg.PackageId; this.PutPackageData(); try // try to update -Katrina { if (!PackageDB.UpdatePackage(currentPkg, package)) // failed -Katrina { MessageBox.Show("Another user has updated or deleted current package", "Concurrency Error"); this.DialogResult = DialogResult.Retry; } else { currentPkg = package; this.DialogResult = DialogResult.OK; } } catch (Exception ex) { MessageBox.Show("Error while updating: " + ex.Message, ex.GetType().ToString()); } } } }
// Accept button to accept add or modify function private void btnAccept_Click(object sender, EventArgs e) { if (IsValidData()) { if (addPackage) { package = new Package(); this.PutPackageData(package); try { package.PackageId = PackageDB.AddPackage(package); this.DialogResult = DialogResult.OK; } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } } else // modify { Package newPackage = new Package(); newPackage.PackageId = package.PackageId; this.PutPackageData(newPackage); try { if (!PackageDB.UpdatePackage(package, newPackage)) { MessageBox.Show("Another user has updated or " + "deleted that package.", "Database Error"); this.DialogResult = DialogResult.Retry; } else // successfully updated { package = newPackage; this.DialogResult = DialogResult.OK; } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } } } // end of validation } // end of accept button
//if the accpet button is clicked private void btnAccept_Click(object sender, EventArgs e) { if (ValidDate()) //checks to see if valid data is present { if (addPackage) //if add button was picked on main form { package = new Package(); this.PackageData(package); try { package.PackageId = PackageDB.AddPackage(package); this.DialogResult = DialogResult.OK; } catch (Exception ex) { throw ex; } } else //if modify button was picked on the main form { Package newPackage = new Package(); newPackage.PackageId = package.PackageId; this.PackageData(newPackage); try { if (!PackageDB.UpdatePackages(package, newPackage)) { MessageBox.Show("Another user has updated or deleted " + package.PkgName, "Database Error"); this.DialogResult = DialogResult.Retry; } else { this.DialogResult = DialogResult.OK; } } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } } } }
private void btnAdd_Click(object sender, EventArgs e) { string pkgName; decimal basePrice; int productId; int supplierId; if (Validator.IsPresent(pkgNameTextBox)) { pkgName = pkgNameTextBox.Text; // If Package Name already exists, get package object from database bool ValidPrice = true; bool DateValid = true; var pkg = packages.SingleOrDefault(p => p.PkgName.ToLower() == pkgName.ToLower()); if (pkg != null) { Package = pkg; PkgInserted = false; } else { // Verify against database Package pkgExist = PackageDB.GetPackageByName(pkgName); if (pkgExist == null) { Package newPkg = new Package(); if (Validator.IsPresent(pkgBasePriceTextBox)) { basePrice = Convert.ToDecimal(pkgBasePriceTextBox.Text); newPkg.PkgBasePrice = basePrice; newPkg.PkgName = pkgName; if (string.IsNullOrWhiteSpace(pkgAgencyCommissionTextBox.Text)) { newPkg.PkgAgencyCommission = null; } else { newPkg.PkgAgencyCommission = Convert.ToDecimal(pkgAgencyCommissionTextBox.Text); } if (string.IsNullOrWhiteSpace(pkgDescTextBox.Text)) { newPkg.PkgDesc = null; } else { newPkg.PkgDesc = pkgDescTextBox.Text; } if (pkgStartDateDateTimePicker.Checked == false && pkgEndDateDateTimePicker.Checked == false) { newPkg.PkgStartDate = null; newPkg.PkgEndDate = null; } else if (pkgStartDateDateTimePicker.Checked == true && pkgEndDateDateTimePicker.Checked == false) { // Package End Date has not been provided yet newPkg.PkgStartDate = pkgStartDateDateTimePicker.Value.Date; newPkg.PkgEndDate = null; } else if (pkgStartDateDateTimePicker.Checked == false && pkgEndDateDateTimePicker.Checked == true) { MessageBox.Show("Must Provide a Valid Start Date"); DateValid = false; DialogResult = DialogResult.None; } else { if (DateTime.Compare(pkgStartDateDateTimePicker.Value, pkgEndDateDateTimePicker.Value) >= 0) { MessageBox.Show("Start Date must be earlier than End Date"); DateValid = false; DialogResult = DialogResult.None; } else { newPkg.PkgStartDate = pkgStartDateDateTimePicker.Value.Date; newPkg.PkgEndDate = pkgEndDateDateTimePicker.Value.Date; } } if (DateValid) { // Add package to database int pkgId = PackageDB.AddPackage(newPkg); newPkg.PackageId = pkgId; Package = newPkg; PkgInserted = true; } } else { ValidPrice = false; DialogResult = DialogResult.None; } } else // Package with pkgName exists in database { Package = pkgExist; PkgInserted = true; } } if (ValidPrice && DateValid) { productId = (int)prodNameComboBox.SelectedValue; supplierId = (int)supNameComboBox.SelectedValue; // Check if the combination of productId and supplierId already exists in database if (ProductsSupplierDB.GetProductsSupplierByProductIdAndSupplierId(productId, supplierId) == null) { // if doesn't exist in database, insert a new record ProductsSupplier prodSupps = new ProductsSupplier { ProductId = productId, SupplierId = supplierId }; // Insert into database int prodSuppId = ProductsSupplierDB.AddProductsSupplier(prodSupps); prodSupps.ProductSupplierId = prodSuppId; productsSupplier = prodSupps; ProdSuppInserted = true; } else { productsSupplier = ProductsSupplierDB.GetProductsSupplierByProductIdAndSupplierId(productId, supplierId); ProdSuppInserted = false; } // If there already exists a same packageId and ProductSupplierId combination var pkgProdSuppTable = pkgProdSupps.SingleOrDefault(p => p.PackageId == Package.PackageId && p.ProductSupplierId == productsSupplier.ProductSupplierId); if (pkgProdSuppTable != null) { MessageBox.Show("Package: " + Package.PkgName + " with \n" + "Product Name: " + prodNameComboBox.Text + "\nSupplier Name: " + supNameComboBox.Text + " \nalready exists", "Record Exists"); DialogResult = DialogResult.None; } else { // Verify against database PackagesProductsSuppliers pkgPS = PackagesProductsSuppliersDB.GetPackagesProductsSuppliersByPkgIdAndProductSupplierId(Package.PackageId, productsSupplier.ProductSupplierId); if (pkgPS == null) { PackagesProductsSuppliers pps = new PackagesProductsSuppliers(); pps.PackageId = Package.PackageId; pps.ProductSupplierId = productsSupplier.ProductSupplierId; // Insert into database PackagesProductsSuppliersDB.AddPackagesProductsSuppliers(pps); pkgProdSupp = pps; DialogResult = DialogResult.OK; } else { MessageBox.Show("Package: " + Package.PkgName + " with \n" + "Product Name: " + prodNameComboBox.Text + "\nSupplier Name: " + supNameComboBox.Text + " \nalready exists", "Record Exists"); pkgProdSupp = pkgPS; DialogResult = DialogResult.OK; } } } else { DialogResult = DialogResult.None; } } else { DialogResult = DialogResult.None; } }