private void BtnAdd_Click(object sender, EventArgs e) { MasterForm master = (this.Parent.Parent as MasterForm); try { //Input data gathered here to improve readability and centralize any processing //that needs to be done before insertion decimal price = this.nudPrice.Value; string publisher = this.txtPublisher.Text.Trim(); string title = this.txtTitle.Text.Trim(); string authorFirst = this.txtAuthorFirst.Text.Trim(); string authorLast = this.txtAuthorLast.Text.Trim(); string location = this.txtLocation.Text.Trim(); string companyName = this.txtCompanyName.Text.Trim(); DateTime publishDate = this.dtpPublishDate.Value; int year = (int)this.nudYear.Value; int genreID = (int)this.cbxGenre.SelectedValue; int conditionID = this.tkbCondition.Value; int quantity = (int)this.nudQuantity.Value; int edition = (int)this.nudEdition.Value; object insertedID = null; string status = ""; switch (this.cbxItemType.SelectedValue) { case 1: if (String.IsNullOrEmpty(status = DBBook.Validate(price, title, authorFirst, authorLast, publisher, publishDate))) { insertedID = DBBook.InsertBook(title, price, edition, genreID, authorFirst, authorLast, publisher, publishDate, conditionID, quantity); if (insertedID != null) { status = "Book " + title + " has been added successfully"; } } break; case 2: if (String.IsNullOrEmpty(status = DBMap.Validate(price, location, year, publisher))) { insertedID = DBMap.InsertMap(location, price, edition, publisher, year, conditionID, quantity); if (insertedID != null) { status = "Map " + location + " has been added successfully"; } } break; case 3: if (String.IsNullOrEmpty(status = DBPeriodical.Validate(price, title, companyName, publishDate))) { insertedID = DBPeriodical.InsertPeriodical(title, price, edition, companyName, genreID, publishDate, conditionID, quantity); if (insertedID != null) { status = "Periodical " + title + " has been added successfully"; } } break; } if (insertedID != null) { List <int> tagValues = DBControlHelper.GetValuesFromCheckedControls(this.tlpTagSelection); if (tagValues.Count > 0 && DBItem.InsertItemTags((int)insertedID, tagValues)) { status += Environment.NewLine + "Item tags added."; } } master.SetStatus(status); } catch (Exception ex) { master.SetStatus("Error! Failed to add item: " + ex.Message); } }
private void BtnUpdate_Click(object sender, EventArgs e) { MasterForm master = (this.Parent.Parent as MasterForm); try { //Input data gathered here to improve readability and centralize any processing //that needs to be done before insertion int itemID = (int)this.nudItemID.Value; decimal price = this.nudPrice.Value; string publisher = this.txtPublisher.Text.Trim(); string title = this.txtTitle.Text.Trim(); string authorFirst = this.txtAuthorFirst.Text.Trim(); string authorLast = this.txtAuthorLast.Text.Trim(); string location = this.txtLocation.Text.Trim(); string companyName = this.txtCompanyName.Text.Trim(); DateTime publishDate = this.dtpPublishDate.Value; int year = (int)this.nudYear.Value; int genreID = (int)this.cbxGenre.SelectedValue; int conditionID = this.tkbCondition.Value; int quantity = (int)this.nudQuantity.Value; int edition = (int)this.nudEdition.Value; decimal discountPrice = this.nudDiscountPrice.Value; DateTime discountFrom = this.dtpDiscountFrom.Value; DateTime discountTo = this.dtpDiscountTo.Value; string status = ""; switch (cbxItemType.SelectedValue) { case 1: if (String.IsNullOrEmpty(status = DBBook.Validate(price, title, authorFirst, authorLast, publisher, publishDate))) { if (DBBook.UpdateBook(itemID, title, price, edition, genreID, authorFirst, authorLast, publisher, publishDate, conditionID, quantity)) { status = "Book " + title + " has been saved." + Environment.NewLine; } } break; case 2: if (String.IsNullOrEmpty(status = DBMap.Validate(price, location, year, publisher))) { if (DBMap.UpdateMap(itemID, location, price, edition, publisher, year, conditionID, quantity)) { status = "Map " + location + " has been saved." + Environment.NewLine; } } break; case 3: if (String.IsNullOrEmpty(status = DBPeriodical.Validate(price, title, companyName, publishDate))) { if (DBPeriodical.UpdatePeriodical(itemID, title, price, edition, companyName, genreID, publishDate, conditionID, quantity)) { status = "Periodical " + title + " has been saved." + Environment.NewLine; } } break; } if (quantity < Cart.Invoice.GetQuantityBeingSold(itemID)) { status += "Quantity cannot be less than the amount of the item currently being sold" + Environment.NewLine; } else { for (var i = 0; i < Cart.Invoice.Transactions.Count; i++) { if (Cart.Invoice.Transactions[i].ItemID == itemID) { Cart.Invoice.Transactions[i].SetItemStock(quantity); } } } if (DBItem.UpdateItemTags(itemID, DBControlHelper.GetValuesFromCheckedControls(this.tlpTagSelection))) { status += "Item tags have been saved." + Environment.NewLine; } if (this.chkSetupDiscountTitle.Checked) { string discountError = DBItemDiscount.Validate(discountPrice, discountFrom, discountTo); if (String.IsNullOrEmpty(discountError)) { if (DBItem.SaveDiscount(itemID, discountPrice, discountFrom, discountTo)) { status += "Discount has been saved." + Environment.NewLine; } } else { status += discountError; } } master.SetStatus(status); } catch (Exception ex) { master.SetStatus("Error! Update failed: " + ex.Message); } }