private void ModifyProductForm_Load(object sender, EventArgs e) { allParts = new BindingList <partsdb>(dbHelper.GetAllParts()); if (isNew) { SetLabels(); loadDgvModifyProduct(); return; } initialProduct = dbHelper.GetProduct(productIndex); initialListProductParts = dbHelper.GetAllAssocParts(productIndex); initialListParts = dbHelper.GetDerivedParts(productIndex); addedParts = new BindingList <partsdb>(dbHelper.GetDerivedParts(productIndex)); loadDgvModifyProduct(); productsdb modify = dbHelper.GetProduct(productIndex); tbModifyProductID.Text = Convert.ToString(modify.productid); tbModifyProductName.Text = modify.name; tbModifyProductPrice.Text = modify.price.ToString("#,0.00"); tbModifyProductInventory.Text = Convert.ToString(modify.instock); tbModifyProductMin.Text = Convert.ToString(modify.min); tbModifyProductMax.Text = Convert.ToString(modify.max); }
public static void RemoveProduct(int index) { using (var con = new InventoryMgmtEntities()) { productsdb productTemp = con.productsdbs.Find(index); con.productsdbs.Remove(productTemp); con.SaveChanges(); } }
//Products public static int AddProduct(productsdb product) { using (var con = new InventoryMgmtEntities()) { con.productsdbs.Add(product); con.SaveChanges(); return(product.productid); } }
private void btModifyProductSave_Click(object sender, EventArgs e) { if (!isNew) { if (isDifferent() == false) { return; } } if (addedParts.Count() == 0) { MessageBox.Show("You must add a part to the product."); return; } if (l_Modify_ProductName.Visible == true || l_Modify_Price.Visible == true || l_Modify_ProductInventory.Visible == true || l_Modify_Max.Visible == true || l_Modify_Min.Visible == true) { MessageBox.Show("You must fix the red boxes before you can save."); return; } if (Int32.Parse(tbModifyProductMax.Text) <= Int32.Parse(tbModifyProductMin.Text)) { MessageBox.Show("Max must be greater than Min."); return; } if ((Int32.Parse(tbModifyProductInventory.Text) <= Int32.Parse(tbModifyProductMin.Text)) || (Int32.Parse(tbModifyProductInventory.Text) >= Int32.Parse(tbModifyProductMax.Text))) { MessageBox.Show("Inventory must be greater than min and less than max."); return; } productsdb tempProduct = new productsdb(); tempProduct.name = tbModifyProductName.Text; tempProduct.min = Int32.Parse(tbModifyProductMin.Text); tempProduct.max = Int32.Parse(tbModifyProductMax.Text); tempProduct.instock = Int32.Parse(tbModifyProductInventory.Text); tempProduct.price = Decimal.Parse(tbModifyProductPrice.Text); tempProduct.createdby = dbHelper.currentUser.userid; if (isNew) { tempProduct.lastmodified = DateTime.Now; int productIndex = dbHelper.AddProduct(tempProduct); for (int i = 0; i < addedParts.Count; i++) { dbHelper.AddAssocPart(productIndex, addedParts[i].partid); } } else { tempProduct.productid = Int32.Parse(tbModifyProductID.Text); dbHelper.ModifyProductImproved(tempProduct, addedParts.ToList <partsdb>(), initialListProductParts); } closeChildForm(); }
private static int testProduct() { DateTime dateTimenow = DateTime.Now; int testsPassed = 0; productsdb productTemp = new productsdb(); productTemp.name = "productTest"; productTemp.min = 1; productTemp.max = 40; productTemp.instock = 11; productTemp.price = 19.23M; productTemp.lastmodified = dateTimenow; cl(""); cl("---Running product creation test."); int idIndex = dbHelper.AddProduct(productTemp); if (dbHelper.ProductExists(idIndex)) { cl("Product creation test PASSED"); testsPassed++; cl("---Running product retrieval test."); productsdb testproduct = dbHelper.GetProduct(idIndex); if ((testproduct.productid == idIndex) && (testproduct.instock == productTemp.instock)) { testsPassed++; cl("Product retrieval test PASSED."); cl("---Running product deletion test."); dbHelper.RemoveProduct(idIndex); if (!dbHelper.ProductExists(idIndex)) { testsPassed++; cl("Product deletion test has PASSED."); } else { cl("Product deletion test has FAILED."); } } else { cl("Product retrieval test FAILED."); } } else { cl("Product creation test FAILED."); } return(testsPassed); }
public static bool ModifyProductImproved(productsdb product, List <partsdb> partsList, List <productspart> originalParts) { using (var con = new InventoryMgmtEntities()) { //Update Part Details productsdb productTemp = con.productsdbs.Find(product.productid);; productTemp.name = product.name; productTemp.min = product.min; productTemp.max = product.max; productTemp.instock = product.instock; productTemp.price = product.price; productTemp.lastmodified = DateTime.Now; //Split list into associated parts that already exist and new parts List <partDerived> partDerivedList = new List <partDerived>(); List <partsdb> realParts = new List <partsdb>(); for (int i = 0; i < partsList.Count(); i++) { if (partsList[i].GetType() == typeof(partDerived)) { partDerived tempPart = (partDerived)(object)partsList[i]; partDerivedList.Add(tempPart); } else { realParts.Add(partsList[i]); } } //Take original list and derived part list, where there is a match remove part from partListfinal List <productspart> partListFinal = originalParts; for (int i = 0; i < originalParts.Count(); i++) { for (int j = 0; j < partDerivedList.Count(); j++) { if (originalParts[i].productpartid == partDerivedList[j].zproductpartid) { partListFinal.RemoveAll(u => u.productpartid == (int)partDerivedList[j].zproductpartid); } } var temp = partListFinal; } //Remove all productparts from the db that are in the list partListFinal if (partListFinal.Count() > 0) { for (int k = 0; k < partListFinal.Count(); k++) { productspart tempProductPart = con.productsparts.Find(partListFinal[k].productpartid); con.productsparts.Remove(tempProductPart); } } //Add new associated parts for (int l = 0; l < realParts.Count(); l++) { productspart temp = new productspart(); temp.productid = product.productid; temp.partid = realParts[l].partid; con.productsparts.Add(temp); } con.SaveChanges(); return(true); } }