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