public InventoryAutoGenerator() { DataSet data = db.Select("*", InventoryItem.Table); db.BeginTransaction(); while (data.Read()) { InventoryItem item = new InventoryItem(data.GetRecordDataSet()); Random rnd = new Random(); int quantity = rnd.Next(1, 1000); float price = (float)rnd.Next(1, 20) * (float)rnd.NextDouble(); item.setQuantity(quantity); item.setCurrentCost(price); item.setAverageCost(price); item.SaveObject(db); } db.CommitTransaction(); }
private void RecalculateAverage(InventoryItem item) { try { DataSet dataSet = db.Select("inventory_item_transactions.*", "inventory_transactions, inventory_item_transactions", "inventory_transactions.transactionID = inventory_item_transactions.transactionID AND inventory_transactions.ClientType = 2 AND inventory_item_transactions.itemID = '" + item.getItemID() + "'",InventoryTransaction.Fields.DateOfTransaction.ToString()); item.setQuantity(0); item.setCurrentCost(0); item.setAverageCost(0); item.SaveObject(db); float qty = 0; float avg = 0; while (dataSet.Read()) { InventoryTransactionItem transItem = new InventoryTransactionItem(dataSet.GetRecordDataSet()); if (!transItem.GetTransactionID().Equals(mTransaction.GetTransactionID())) { qty += transItem.GetQuantity(); avg = (avg * qty) + (transItem.GetUnitPrice() * transItem.GetQuantity()); avg = avg / (qty + transItem.GetQuantity()); item.setCurrentCost(transItem.GetUnitPrice()); } } item.setAverageCost(avg); item.setQuantity(qty); item.SaveObject(db); } catch (Exception ex) { MessageBox.Show("Failed to Recalculate new average of item - " + msgCodes.GetString("M2102") + " " + ex.Message, "Error - 2102", MessageBoxButton.OK, MessageBoxImage.Error); } }