Example #1
0
        /// <summary>
        /// Adds CPU to database
        /// </summary>
        /// <param name="_item">Item details of CPU.</param>
        /// <param name="_cpu">CPU details.</param>
        /// <returns></returns>
        public bool AddItem(Item _item, CPU _cpu)
        {
            try
            {
                // Using database context
                using (var db = new InventorySystemContext())
                {
                    // Add CPU to database if item does not fail.
                    if (AddItem(_item))
                    {
                        // Get item ID
                        var item = db.Items.First(c => c.Name == _item.Name);

                        // Add Item to cpu
                        CPU cpu = _cpu;
                        cpu.Item = item;

                        db.CPUs.Add(_cpu);
                        db.SaveChanges();
                    }
                    else
                    {
                        // Returns false if name exists.
                        return(false);
                    }
                }
            }
            catch (Exception e)
            {
                // Return false if failed.
                return(false);
            }
            // Return true if successful.
            return(true);
        }
Example #2
0
        public bool EditItem(Item item, bool UpdateStock = true)
        {
            using (var db = new InventorySystemContext())
            {
                int change = 0;
                var old    = db.Items.First(i => i.ID == item.ID).Quantity;
                change = item.Quantity - old;

                if (change != 0 && UpdateStock)
                {
                    Transaction transaction = new Transaction()
                    {
                        Change = change,
                        Item   = item,
                        Reason = "Stock Updated",
                        Time   = DateTime.Now
                    };
                    AddItem(item, transaction);
                }

                db.SaveChanges();
            }
            using (var db = new InventorySystemContext())
            {
                db.Entry(item).State = System.Data.Entity.EntityState.Modified;
                //db.Items.Add(item);

                db.SaveChanges();
            }
            return(true);
        }
Example #3
0
        public bool AddItem(Item _item, Transaction _transaction)
        {
            try
            {
                // Using database context
                using (var db = new InventorySystemContext())
                {
                    // Get item ID
                    var item = db.Items.First(c => c.Name == _item.Name);

                    // Add Item to RAM
                    _transaction.Item = item;

                    db.Transactions.Add(_transaction);
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                // Return false if failed.
                return(false);
            }
            // Return true if successful.
            return(true);
        }
Example #4
0
        /// <summary>
        /// Adds Item to database.
        /// </summary>
        /// <param name="_item">Item to Add.</param>
        /// <returns>True if successful.</returns>
        public bool AddItem(Item _item)
        {
            try
            {
                Item temp = _item;
                // Using database context.
                using (var db = new InventorySystemContext())
                {
                    // Check if item exists first
                    if (db.Items.Any(i => i.Name == _item.Name))
                    {
                        return(false);
                    }

                    temp.ID = db.Items.Count();
                    // Add Item and save changes.
                    db.Items.Add(temp);
                    //db.SaveChanges();

                    //db.Transactions.Add(transaction);
                    db.SaveChanges();
                }
                Transaction transaction = new Transaction
                {
                    Item   = temp,
                    Change = temp.Quantity,
                    Time   = DateTime.Now,
                    Reason = "Added Entry to Inventory"
                };

                AddItem(temp, transaction);
            }
            catch (Exception e)
            {
                // Return false if failed
                return(false);
            }
            // Return true if successful
            return(true);
        }
Example #5
0
        public bool RemoveStock(Dictionary <int, int> keyValuePairs)
        {
            using (var db = new InventorySystemContext())
            {
                foreach (var pair in keyValuePairs)
                {
                    Item item = FindItem(pair.Key);
                    item.Quantity -= pair.Value;

                    EditItem(item, false);

                    AddItem(item, new Transaction()
                    {
                        Change = -pair.Value,
                        Item   = item,
                        Reason = "Sold to Customer",
                        Time   = DateTime.Now
                    });
                    db.SaveChanges();
                }
            }
            return(true);
        }
Example #6
0
        public bool DeleteItem(int _id, bool _record = true)
        {
            using (var db = new InventorySystemContext())
            {
                if (db.Items.Any(i => i.ID == _id))
                {
                    Item item = db.Items.First(i => i.ID == _id);
                    // Check all lists and delete where necessary
                    switch (item.Component)
                    {
                    case (Model.Type.CASE):
                        db.Cases.Remove(db.Cases.First(c => c.ItemID == _id));
                        break;

                    case (Model.Type.CPU):
                        db.CPUs.Remove(db.CPUs.First(c => c.ItemID == _id));
                        break;

                    case (Model.Type.CPUCOOLER):
                        db.CPUCoolers.Remove(db.CPUCoolers.First(c => c.ItemID == _id));
                        break;

                    case (Model.Type.GPU):
                        db.GPUs.Remove(db.GPUs.First(c => c.ItemID == _id));
                        break;

                    case (Model.Type.MOTHERBOARD):
                        db.Motherboards.Remove(db.Motherboards.First(c => c.ItemID == _id));
                        break;

                    case (Model.Type.PSU):
                        db.PSUs.Remove(db.PSUs.First(c => c.ItemID == _id));
                        break;

                    case (Model.Type.RAM):
                        db.RAMs.Remove(db.RAMs.First(c => c.ItemID == _id));
                        break;

                    default:
                        return(false);
                    }

                    if (_record)
                    {
                        // Record transaction
                        Transaction transaction = new Transaction()
                        {
                            Item   = item,
                            Change = -item.Quantity,
                            Time   = DateTime.Now,
                            Reason = "Removed from Database."
                        };
                        if (!AddItem(item, transaction))
                        {
                            return(false);
                        }
                    }

                    // Remove item from database
                    db.Items.Remove(item);

                    // Save changes
                    db.SaveChanges();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }