public void Save(bool modifyPurchases = false) { dbConnect dbCon = new dbConnect(); Int32 receiptid = this.ORNumber; if (dbCon.CreateReceipt(ref receiptid, this.CashierName, this.TotalAmountDue, this.CashTendered, this.SeniorDiscount, this.ItemDiscount, this.Accountid, this.TransDate) == false) { return; } if (this.ORNumber != receiptid || this.ORNumber == receiptid && modifyPurchases) { this.ORNumber = receiptid; dbCon.RemoveFromHistory(this._ORNumber); foreach (KeyValuePair <string, clsPurchasedItem> purchaseditem in _lstPurchasedItems) { if (purchaseditem.Value.Qty > 0) { purchaseditem.Value.ORNumber = this.ORNumber; if (dbCon.AddTransaction(purchaseditem.Value)) { clsProductItem prod = clsProductItem.SearchProduct(purchaseditem.Value.BarCode); prod.QtySold += purchaseditem.Value.Qty; prod.Save(); } } } } this.ORNumber = receiptid; dbCon.Close(); }
public string UpdateInventoryFromTemp(List <clsProductItem> lstProdItems, string username) { Receipt m_receipt = new Receipt(); frmTempTrans tmp = new frmTempTrans(clsUsers.GetUser(username)); if (tmp.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (tmp.SelectedTempOR != null) { m_receipt = tmp.SelectedTempOR; } } Dictionary <string, clsProductItem> dicProd = new Dictionary <string, clsProductItem>(); foreach (clsProductItem c in lstProdItems) { if (dicProd.ContainsKey(c.BarCode) == false) { dicProd.Add(c.BarCode.Trim(), c); } } frmProgress progress = new frmProgress(lstProdItems.Count); progress.Caption = "Update in Progress"; progress.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; progress.Show(); foreach (KeyValuePair <string, clsPurchasedItem> p in m_receipt.PurchasedItems) { progress.Val++; if (dicProd.ContainsKey(p.Key)) { clsProductItem prod = dicProd[p.Key]; if (prod.StocksRemainingQty != p.Value.Qty) { double addQtyToInventory = p.Value.Qty - prod.StocksRemainingQty; clsInventory itemIventory = new clsInventory(); itemIventory.BarCode = prod.BarCode; itemIventory.Capital = prod.Capital; itemIventory.Quantity = addQtyToInventory; itemIventory.DateAdded = DateTime.Now; itemIventory.Remarks = string.Format("{0}: TotInv={1} + {2}", username, prod.StocksRemainingQty, addQtyToInventory); itemIventory.Save(); prod.TotalInventoryQty += addQtyToInventory; prod.Save(); } } progress.Close(); m_receipt.DeleteTempReceipt(); } return(""); }
public string UpdateInventory(string filename, List <clsProductItem> lstProdItems, string username) { Workbook xlsBook = new Workbook(); Worksheet xlsSheet = null; if (File.Exists(filename)) { xlsBook.LoadFromFile(filename); } Dictionary <string, clsProductItem> dicProd = new Dictionary <string, clsProductItem>(); foreach (clsProductItem c in lstProdItems) { if (dicProd.ContainsKey(c.BarCode) == false) { dicProd.Add(c.BarCode.Trim(), c); } } Dictionary <int, string> categories = dbConnect.GetCategories(); foreach (Worksheet sheet in xlsBook.Worksheets) { xlsSheet = sheet; if (xlsSheet[1, 1].Value.Trim() == "Barcode" && xlsSheet[1, 2].Value.Trim() == "Description" && xlsSheet[1, 3].Value.Trim() == "Capital" && xlsSheet[1, 4].Value.Trim() == "Retail Amount" && xlsSheet[1, 5].Value.Trim() == "Wholesale Amount" && xlsSheet[1, 6].Value.Trim() == "Category" && xlsSheet[1, 7].Value.Trim() == "Total Inventory" && xlsSheet[1, 8].Value.Trim() == "Quantity Sold" && xlsSheet[1, 9].Value.Trim() == "Remaining Quantity" && xlsSheet[1, 10].Value.Trim() == "Actual Qty" && xlsSheet[1, 11].Value.Trim() == "Difference") { int ctr = 2; frmProgress progress = new frmProgress(lstProdItems.Count); progress.Caption = "Update in Progress"; progress.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; progress.Show(); while (xlsSheet[ctr, 1].Value != "") { progress.Val += 1; if (dicProd.ContainsKey(xlsSheet[ctr, 1].Value.Trim())) { clsProductItem prod = dicProd[xlsSheet[ctr, 1].Value.Trim()]; try { double addQtyToInventory = Convert.ToDouble(xlsSheet[ctr, 10].Value) - prod.StocksRemainingQty; if (prod.Description != xlsSheet[ctr, 2].Value.Trim() || prod.Capital != double.Parse(xlsSheet[ctr, 3].Value.Trim()) || prod.Amount != double.Parse(xlsSheet[ctr, 4].Value.Trim()) || prod.WSAmount != double.Parse(xlsSheet[ctr, 5].NumberText) || Convert.ToDouble(xlsSheet[ctr, 10].Value) != prod.StocksRemainingQty || xlsSheet[ctr, 6].Value.Trim() != prod.Category) { if (Convert.ToDouble(xlsSheet[ctr, 10].Value) - prod.StocksRemainingQty != 0) { clsInventory itemIventory = new clsInventory(); itemIventory.BarCode = prod.BarCode; itemIventory.Capital = prod.Capital; itemIventory.Quantity = addQtyToInventory; itemIventory.DateAdded = DateTime.Now; itemIventory.Remarks = string.Format("{0}: TotInv={1} + {2}", username, prod.StocksRemainingQty, addQtyToInventory); itemIventory.Save(); prod.Description = xlsSheet[ctr, 2].Value.Trim(); prod.Capital = double.Parse(xlsSheet[ctr, 3].Value.Trim()); prod.Amount = double.Parse(xlsSheet[ctr, 4].Value.Trim()); prod.WSAmount = double.Parse(xlsSheet[ctr, 5].NumberText); prod.TotalInventoryQty += addQtyToInventory; if (categories.ContainsValue(xlsSheet[ctr, 6].Value.Trim()) == false) { dbConnect.AddCategory(xlsSheet[ctr, 6].Value.Trim()); categories = dbConnect.GetCategories(); } if (categories != null && categories.ContainsValue(xlsSheet[ctr, 6].Value.Trim())) { foreach (KeyValuePair <int, string> str in categories) { if (str.Value == xlsSheet[ctr, 6].Value.Trim()) { prod.CategoryId = str.Key; break; } } } prod.Save(); } } } catch { } } else { clsProductItem proditem = new clsProductItem(); proditem.BarCode = xlsSheet[ctr, 1].Value.Trim().ToUpper(); proditem.Description = xlsSheet[ctr, 2].Value.Trim(); proditem.Amount = double.Parse(xlsSheet[ctr, 4].Value.Trim()); proditem.WSAmount = double.Parse(xlsSheet[ctr, 5].Value.Trim()); proditem.WSMinimum = 0; proditem.Capital = double.Parse(xlsSheet[ctr, 3].Value.Trim()); proditem.Imagepath = ""; proditem.Unit = "pc"; proditem.InStorage = 0; proditem.CriticalLevel = 5; proditem.QtySold = 0; clsInventory itemIventory = new clsInventory(); itemIventory.BarCode = proditem.BarCode; itemIventory.Capital = proditem.Capital; itemIventory.DateAdded = DateTime.Now; itemIventory.Quantity = Convert.ToDouble(xlsSheet[ctr, 10].Value); itemIventory.Remarks = string.Format("{0}: TotInv={1} + {2}", username, 0, itemIventory.Quantity); itemIventory.Save(); proditem.TotalInventoryQty = itemIventory.Quantity; if (categories.ContainsValue(xlsSheet[ctr, 6].Value.Trim()) == false) { dbConnect.AddCategory(xlsSheet[ctr, 6].Value.Trim()); categories = dbConnect.GetCategories(); } if (categories != null && categories.ContainsValue(xlsSheet[ctr, 6].Value.Trim())) { foreach (KeyValuePair <int, string> str in categories) { if (str.Value == xlsSheet[ctr, 6].Value.Trim()) { proditem.CategoryId = str.Key; break; } } } proditem.Save(); } ctr++; } progress.Close(); } break; } return(""); }