/// <summary> /// Used to add product in the vending machine /// </summary> /// <returns>message</returns> public string AddProduct(FactoryPack pack) { if (pack == null) { return("Product was invalid!"); } products.Add(pack.Product); productAmount.Add(pack.Amount); return("Product added!"); }
/// <summary> /// Used to refill product in the vending machine /// </summary> /// <returns>message</returns> public string RefillProduct(FactoryPack pack) { if (pack == null) { return("Product was invalid!"); } int productIndex = FindProductIndexFromID(pack.Product.ItemID); ProductAmount[productIndex] += pack.Amount; return("Product refilled"); }
private void PrintAddProduct() { string name = PrintStringInputBox("Enter product name: "); int id = PrintIntInputBox("Enter product id: "); double price = PrintDoubleInputBox("Enter product price: "); int amount = PrintIntInputBox("Enter amount of products: "); if (machine.CheckMachineRoom(id, amount) != null) { Console.WriteLine(machine.CheckMachineRoom(id, amount)); return; } Product product = new Product(name, id, price); FactoryPack pack = factory.BuyFromFactory(product, admin.Money, amount); Console.WriteLine(machine.AddProduct(pack)); }
// Admin menu ********************************************************** private void PrintRefillProduct() { int id = PrintIntInputBox("Enter product id: "); int amount = PrintIntInputBox("Enter product amount: "); try { if (machine.CheckMachineRoom(id, amount) != null) { Console.WriteLine(machine.CheckMachineRoom(id, amount)); return; } int index = machine.FindProductIndexFromID(id); FactoryPack pack = factory.BuyFromFactory(machine.Products[index], admin.Money, amount); Console.WriteLine(machine.RefillProduct(pack)); } catch { Console.WriteLine("Failed..."); } }
/// <summary> /// Used to buy factory pack consisting of products from factory /// </summary> /// <returns>FactoryPack</returns> public FactoryPack BuyFromFactory(Product product, Money money, int amount) { FactoryPack factoryPack = new FactoryPack(product, amount); if (product.Price <= 0) { return(null); } if (money != null) { double price = (product.FactoryPrice * amount); if (price > money.Balance) { return(null); } else { money.Balance -= price; this.money.Balance += price; } } return(factoryPack); }