public void deleteProductSize(string id, string size) { PRODUCT_SIZE obj = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == Convert.ToInt32(id) && o.SIZE.Equals(size)).SingleOrDefault(); UShopDB.PRODUCT_SIZEs.DeleteOnSubmit(obj); UShopDB.SubmitChanges(); }
public void updateProductSize(PRODUCT_SIZE product) { PRODUCT_SIZE obj = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == product.PRODUCT_ID && o.SIZE.Equals(product.SIZE)).SingleOrDefault(); obj.IN_STOCK_QUANTITY = product.IN_STOCK_QUANTITY; obj.PRODUCT_ID = product.PRODUCT_ID; obj.SIZE = product.SIZE; UShopDB.SubmitChanges(); }
public void add(RECEIPT_NOTE obj, DataTable dtItems) { UShopDB.RECEIPT_NOTEs.InsertOnSubmit(obj); UShopDB.SubmitChanges(); obj.RN_CODE = getCODE("RCN", obj.RN_ID); List <RECEIPT_NOTE_ITEM> lst = new List <RECEIPT_NOTE_ITEM>(); foreach (DataRow r in dtItems.Rows) { RECEIPT_NOTE_ITEM item = new RECEIPT_NOTE_ITEM(); item.RN_ID = obj.RN_ID; item.PRODUCT_ID = Int32.Parse(r[0].ToString().Substring(r[0].ToString().IndexOf('0'), r[0].ToString().Length - r[0].ToString().IndexOf('0'))); item.QUANTITY_STOCK_S = Int32.Parse(r[2].ToString()); item.QUANTITY_VOUCHER_S = Int32.Parse(r[3].ToString()); item.SIZE = r[4].ToString(); item.PRICE = Int32.Parse(r[5].ToString()); item.AMOUNT = Int32.Parse(r[6].ToString()); item.RECORD_STATUS = "A"; lst.Add(item); // foreach (RECEIPT_NOTE_ITEM i in lst) { if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(i.PRODUCT_ID) && o.SIZE.Equals(i.SIZE)).Count() > 0) { PRODUCT_SIZE p = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(i.PRODUCT_ID) && o.SIZE.Equals(i.SIZE)).First(); p.IN_STOCK_QUANTITY += item.QUANTITY_STOCK_S; } else { PRODUCT_SIZE p = new PRODUCT_SIZE(); p.PRODUCT_ID = i.PRODUCT_ID ?? 1; p.SIZE = i.SIZE; p.IN_STOCK_QUANTITY = item.QUANTITY_STOCK_S; UShopDB.PRODUCT_SIZEs.InsertOnSubmit(p); } } } UShopDB.RECEIPT_NOTE_ITEMs.InsertAllOnSubmit(lst); UShopDB.SubmitChanges(); foreach (RECEIPT_NOTE_ITEM i in UShopDB.RECEIPT_NOTE_ITEMs.Where(o => o.RN_ID == obj.RN_ID)) { i.RN_ITEM_CODE = getCODE("RIT", i.RN_ITEM_ID); } UShopDB.SubmitChanges(); }
public PRODUCT_SIZE findProductSizeBy(int id, String size) { PRODUCT_SIZE ret = null; foreach (var item in proSizeList) { if (item.PRODUCT_ID == id && item.SIZE.Equals(size)) { ret = item; break; } } return(ret); }
public void addProductSize(PRODUCT_SIZE obj) { try { UShopDB.PRODUCT_SIZEs.InsertOnSubmit(obj); UShopDB.SubmitChanges(); //obj.PRODUCT_CODE = getCODE("PRO",obj.PRODUCT_ID); //UShopDB.SubmitChanges(); } catch (Exception ex) { throw new Exception(); } }
private bool updateProductSize(int productId, string size, int deltaQuantity) { PRODUCT_SIZE prosize = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == productId && o.SIZE.Equals(size)).SingleOrDefault(); if (prosize != null) { if (prosize.IN_STOCK_QUANTITY == 0) { throw new Exception("instock quantity is zero but still has an invoice item "); } prosize.IN_STOCK_QUANTITY = prosize.IN_STOCK_QUANTITY + deltaQuantity; UShopDB.SubmitChanges(); return(true); } return(false); }
public void addItem(String productCodeName, String size) { if (productCodeName != null && !productCodeName.Equals("") && !productCodeName.Equals(Resources.EMPTY_ITEM) && size != null && !size.Equals("") && !size.Equals(Resources.EMPTY_ITEM) && productList != null && productList.Count > 0 && proSizeList != null && proSizeList.Count > 0) { List <String> paramList = new List <String>(); String[] splitString = productCodeName.Split(new char[] { '-' }); String proCode = splitString[0]; String proName = splitString[1]; PRODUCT curProduct = findProductBy(proCode); PRODUCT_SIZE currProSize = findProductSizeBy(curProduct.PRODUCT_ID, size); DataTable table = InvoiceAddingView.getInvoiceItemDataTable(); //check instock quanntity if (currProSize.IN_STOCK_QUANTITY <= 0) { invoiceAddingView.showMessageBox("Sản phẩm đã hết hàng!", System.Windows.Forms.MessageBoxIcon.Information); return; } //minus taken currProSize.IN_STOCK_QUANTITY--; //check exist rows for (int i = 0; i < table.Rows.Count; i++) { String itemProCodeName = table.Rows[i]["PRODUCT_NAME"] + ""; String itemSize = table.Rows[i]["SIZE"] + ""; if (itemProCodeName.Equals(productCodeName) && size.Equals(itemSize)) { int itemQuantity = Convert.ToInt16(table.Rows[i]["QUANTITY"]); float sale = Convert.ToSingle(table.Rows[i]["DISCOUNT_AMOUNT"]); itemQuantity++; table.Rows[i]["QUANTITY"] = itemQuantity; table.Rows[i]["AMOUNT"] = calculateAmount(itemQuantity, (float)curProduct.COST_PRICE, sale); sumTotalAmount(); return; } } /* INVOICE_ITEM item = null; * if ((item = isExistItem(curProduct.PRODUCT_ID, size) ) != null) * { * item.QUANTITY = item.QUANTITY + 1; * item.AMOUNT = item.QUANTITY * item.PRICE; * } * * item = new INVOICE_ITEM(); * // miss ITEM_ID, ITEM_CODE, INVOICE_ID * item.PRICE = curProduct.COST_PRICE; * item.PRODUCT_ID = curProduct.PRODUCT_ID; * item.QUANTITY = 1; * item.SIZE = size; * item.AMOUNT = item.QUANTITY * item.PRICE; * item.DISCOUNT = 0; * item.RECORD_STATUS = RECORD_STATUS.ACTIVE+""; * * //add into list * invoiceItemList.Add(item);*/ //create params float discount = (float)curProduct.SALE_AMOUNT; int quantity = 1; double amount = calculateAmount(quantity, (float)curProduct.COST_PRICE, discount); String note = ""; paramList.Add(table.Rows.Count + 1 + ""); paramList.Add(productCodeName); paramList.Add(size); paramList.Add(curProduct.UNIT); paramList.Add(discount + ""); paramList.Add(quantity + ""); paramList.Add(curProduct.COST_PRICE + ""); paramList.Add(amount + ""); paramList.Add(note); //add into grid invoiceAddingView.addItemIntoGrid(paramList.ToArray()); sumTotalAmount(); //remove this product out of product list //productList.Remove(curProduct); //remove this size out of prosize list //proSizeList.Remove(currProSize); //update ui //invoiceAddingView.showProductName(generateProductNameList(null), false); //update ui //invoiceAddingView.showSizeOfProduct(generateSizeList()); } else { invoiceAddingView.showMessageBox("Trường Tên sản phẩm, Kích cỡ chưa được chọn hoặc không hợp lệ", System.Windows.Forms.MessageBoxIcon.Error); } }
public void updateProductSize(PRODUCT_SIZE obj) { _model.updateProductSize(obj); _view.loadProductSizes(_model.loadProductSize()); }
public void saveProductSize(PRODUCT_SIZE obj) { _model.addProductSize(obj); _view.loadProductSizes(_model.loadProductSize()); }
public string update(RECEIPT_NOTE obj, DataTable dtItems) { String strError = ""; List <RECEIPT_NOTE_ITEM> lstDeleted = new List <RECEIPT_NOTE_ITEM>(); List <RECEIPT_NOTE_ITEM> lstUpdated = new List <RECEIPT_NOTE_ITEM>(); List <RECEIPT_NOTE_ITEM> lstInserted = new List <RECEIPT_NOTE_ITEM>(); //list update foreach (DataRow r in dtItems.Rows) { int id = Int32.Parse(r[0].ToString().Substring(r[0].ToString().IndexOf('0'), r[0].ToString().Length - r[0].ToString().IndexOf('0'))); string size = r[4].ToString(); foreach (RECEIPT_NOTE_ITEM i in UShopDB.RECEIPT_NOTE_ITEMs.Where(o => o.RN_ID.Equals(obj.RN_ID) && o.RECORD_STATUS.Equals("A"))) { if (id.Equals(i.PRODUCT_ID) && i.RN_ID.Equals(obj.RN_ID) && i.SIZE.Equals(size)) { lstUpdated.Add(i); break; } } } //list insert foreach (DataRow r in dtItems.Rows) { int id = Int32.Parse(r[0].ToString().Substring(r[0].ToString().IndexOf('0'), r[0].ToString().Length - r[0].ToString().IndexOf('0'))); string size = r[4].ToString(); bool isFounded = false; foreach (RECEIPT_NOTE_ITEM i in UShopDB.RECEIPT_NOTE_ITEMs.Where(o => o.RN_ID.Equals(obj.RN_ID) && o.RECORD_STATUS.Equals("A"))) { if (id.Equals(i.PRODUCT_ID) && i.RN_ID.Equals(obj.RN_ID) && i.SIZE.Equals(size)) { isFounded = true; break; } } if (!isFounded) { RECEIPT_NOTE_ITEM re_i = new RECEIPT_NOTE_ITEM(); re_i.RN_ID = obj.RN_ID; re_i.PRODUCT_ID = getProductByCODE(r[0].ToString()).PRODUCT_ID; re_i.QUANTITY_STOCK_S = Int32.Parse(r[2].ToString()); re_i.QUANTITY_VOUCHER_S = Int32.Parse(r[3].ToString()); re_i.SIZE = r[4].ToString(); re_i.PRICE = Int32.Parse(r[5].ToString()); re_i.AMOUNT = Int32.Parse(r[6].ToString()); lstInserted.Add(re_i); } } //list delete foreach (RECEIPT_NOTE_ITEM i in UShopDB.RECEIPT_NOTE_ITEMs.Where(o => o.RN_ID.Equals(obj.RN_ID) && o.RECORD_STATUS.Equals("A"))) { bool isFounded = false; foreach (DataRow r in dtItems.Rows) { int id = Int32.Parse(r[0].ToString().Substring(r[0].ToString().IndexOf('0'), r[0].ToString().Length - r[0].ToString().IndexOf('0'))); string size = r[4].ToString(); if (id.Equals(i.PRODUCT_ID) && i.RN_ID.Equals(obj.RN_ID) && i.SIZE.Equals(size)) { isFounded = true; break; } } if (!isFounded) { lstDeleted.Add(i); } } // Sau khi tim duoc lstInsert-Delete-Update, tien hanh kiem tra co loi hay khong //kiem tra delete foreach (RECEIPT_NOTE_ITEM re in lstDeleted) { int count = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == re.PRODUCT_ID && o.SIZE.Equals(re.SIZE)).Count(); if (count > 0) { PRODUCT_SIZE p = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == re.PRODUCT_ID && o.SIZE.Equals(re.SIZE)).First(); if (p.IN_STOCK_QUANTITY - re.QUANTITY_STOCK_S < 0) { PRODUCT pro = null; pro = UShopDB.PRODUCTs.Where(o => o.PRODUCT_ID == p.PRODUCT_ID).SingleOrDefault(); strError += "\nSo luong " + pro.PRODUCT_NAME + "khong du de delete."; } break; } else { //ko co thi sao? } } //kiem tra update foreach (DataRow r in dtItems.Rows) { int id = Int32.Parse(r[0].ToString().Substring(r[0].ToString().IndexOf('0'), r[0].ToString().Length - r[0].ToString().IndexOf('0'))); string size = r[4].ToString(); string name = r[1].ToString(); foreach (RECEIPT_NOTE_ITEM re in lstUpdated) { if (re.PRODUCT_ID == id) { int sub = Int32.Parse(r[2].ToString()); RECEIPT_NOTE_ITEM i = new RECEIPT_NOTE_ITEM(); foreach (RECEIPT_NOTE_ITEM rr in lstUpdated) { if (rr.PRODUCT_ID == id) { i = rr; break; } } int count = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == id && o.SIZE.Equals(size)).Count(); if (count > 0) { PRODUCT_SIZE p = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID == id && o.SIZE.Equals(size)).First(); if (p.IN_STOCK_QUANTITY + (sub - i.QUANTITY_STOCK_S) < 0) { strError += "\nSo luong " + name + "khong du de delete."; } break; } else { //ko co thi sao? } } } } //insert khong can quan tam so luong luc truoc nen khong can kiem tra // if (!strError.Equals("")) { return(strError); } // if (dtItems.Rows.Count == 0) //chuc nang xoa RECEIPT_NOTE { obj.RECORD_STATUS = "D"; } // //delete foreach (RECEIPT_NOTE_ITEM r in lstDeleted) { int count = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).Count(); if (count > 0) { /* * int sub = 0; * foreach (DataRow ro in dtItems.Rows) * { * int id = Int32.Parse(ro[0].ToString().Substring(ro[0].ToString().IndexOf('0'), ro[0].ToString().Length - ro[0].ToString().IndexOf('0'))); * string size = ro[4].ToString(); * string name = ro[1].ToString(); * * if (id.Equals(r.PRODUCT_ID) && size.Equals(r.SIZE) && r.RN_ID.Equals(obj.RN_ID) && r.RECORD_STATUS.Equals("A")) * { * sub = Int32.Parse(ro[2].ToString()); * } * } * Console.WriteLine("sub = "+sub); * */ if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).Count() > 0) { UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).First().IN_STOCK_QUANTITY -= r.QUANTITY_STOCK_S; } } r.RECORD_STATUS = "D"; } //update foreach (RECEIPT_NOTE_ITEM r in lstUpdated) { foreach (DataRow ro in dtItems.Rows) { int id = Int32.Parse(ro[0].ToString().Substring(ro[0].ToString().IndexOf('0'), ro[0].ToString().Length - ro[0].ToString().IndexOf('0'))); string size = ro[4].ToString(); string name = ro[1].ToString(); int sub = Int32.Parse(ro[2].ToString()); if (id == r.PRODUCT_ID) { int count = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).Count(); if (count > 0) { UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).First().IN_STOCK_QUANTITY += (sub - r.QUANTITY_STOCK_S); } r.QUANTITY_STOCK_S += (sub - r.QUANTITY_STOCK_S); break; } } } //insert foreach (RECEIPT_NOTE_ITEM r in lstInserted) { int count = UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).Count(); if (count > 0) { UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(r.PRODUCT_ID) && o.SIZE.Equals(r.SIZE)).First().IN_STOCK_QUANTITY += r.QUANTITY_STOCK_S; } else { PRODUCT_SIZE pro = new PRODUCT_SIZE(); pro.PRODUCT_ID = r.PRODUCT_ID ?? 1; pro.SIZE = r.SIZE; pro.IN_STOCK_QUANTITY = r.QUANTITY_STOCK_S; UShopDB.PRODUCT_SIZEs.InsertOnSubmit(pro); } r.RECORD_STATUS = "A"; UShopDB.RECEIPT_NOTE_ITEMs.InsertOnSubmit(r); } /* * foreach (RECEIPT_NOTE_ITEM r in lstInserted) * { * * r.RECORD_STATUS = "A"; * UShopDB.RECEIPT_NOTE_ITEMs.InsertOnSubmit(r); * * foreach (PRODUCT p in UShopDB.PRODUCTs) * { * if (p.PRODUCT_ID.Equals(r.PRODUCT_ID)) * { * // * if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("S")).Count() > 0) * UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("S")).First().IN_STOCK_QUANTITY += r.QUANTITY_STOCK_S; * else * { * if (r.QUANTITY_STOCK_S>0) * UShopDB.PRODUCT_SIZEs.InsertOnSubmit(new PRODUCT_SIZE { PRODUCT_ID = p.PRODUCT_ID, SIZE = "S", IN_STOCK_QUANTITY = r.QUANTITY_STOCK_S }); * } * * if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("M")).Count() > 0) * UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("M")).First().IN_STOCK_QUANTITY += r.QUANTITY_STOCK_M; * else * { * if (r.QUANTITY_STOCK_M > 0) * UShopDB.PRODUCT_SIZEs.InsertOnSubmit(new PRODUCT_SIZE { PRODUCT_ID = p.PRODUCT_ID, SIZE = "M", IN_STOCK_QUANTITY = r.QUANTITY_STOCK_M }); * } * * if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("L")).Count() > 0) * UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("L")).First().IN_STOCK_QUANTITY += r.QUANTITY_STOCK_L; * else * { * if (r.QUANTITY_STOCK_L > 0) * UShopDB.PRODUCT_SIZEs.InsertOnSubmit(new PRODUCT_SIZE { PRODUCT_ID = p.PRODUCT_ID, SIZE = "L", IN_STOCK_QUANTITY = r.QUANTITY_STOCK_L }); * } * * if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("XL")).Count() > 0) * UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("XL")).First().IN_STOCK_QUANTITY += r.QUANTITY_STOCK_XL; * else * { * if (r.QUANTITY_STOCK_XL > 0) * UShopDB.PRODUCT_SIZEs.InsertOnSubmit(new PRODUCT_SIZE { PRODUCT_ID = p.PRODUCT_ID, SIZE = "XL", IN_STOCK_QUANTITY = r.QUANTITY_STOCK_XL }); * } * * if (UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("XXL")).Count() > 0) * UShopDB.PRODUCT_SIZEs.Where(o => o.PRODUCT_ID.Equals(p.PRODUCT_ID) && o.SIZE.Equals("XXL")).First().IN_STOCK_QUANTITY += r.QUANTITY_STOCK_XXL; * else * { * if (r.QUANTITY_STOCK_XXL > 0) * UShopDB.PRODUCT_SIZEs.InsertOnSubmit(new PRODUCT_SIZE { PRODUCT_ID = p.PRODUCT_ID, SIZE = "XXL", IN_STOCK_QUANTITY = r.QUANTITY_STOCK_XXL }); * } * // * * } * break; * } * } */ UShopDB.SubmitChanges(); return(""); }