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 cmboItemID_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                if (itemIDs.Contains(cmboItemID.Text.ToUpper()))
                {
                    DataSet data = db.Select("*", InventoryItem.Table, InventoryItem.Fields.itemID.ToString() + " = '" + cmboItemID.Text.ToUpper()+"'");
                    data.Read();
                    InventoryItem item = new InventoryItem(data.GetRecordDataSet());
                    SelectedItem = item;

                    RoutedEventArgs args = new RoutedEventArgs(ObjectSelectedEvent);
                    RaiseEvent(args);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Item Does not exist in the database. Please try again or add the missing item.", "Item Does not exist!", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        private void dgItems_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.ClickCount == 2)
            {
                if (dgItems.SelectedCells.Count > 0)
                {
                    InventoryItemBinding obj = (InventoryItemBinding)dgItems.SelectedCells[0].Item;
                    dataGridViewData.SeekToPrimaryKey(obj.itemID);
                    InventoryItem item = new InventoryItem(dataGridViewData.GetRecordDataSet());
                    SelectedItem = item;

                    RoutedEventArgs args = new RoutedEventArgs(ObjectSelectedEvent);
                    RaiseEvent(args);
                    this.Close();
                }
            }
        }
 /// <summary>
 /// Sets the InventoryItem for temporary use only.
 /// </summary>
 /// <param name="pItem"></param>
 public void SetInventoryItem(InventoryItem pItem)
 {
     item = pItem;
 }
 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);
     }
 }