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);
     }
 }