public IProduct Buy(IProduct selectedProduct)
 {
     try
     {
         IProduct selectedItem = VendingMachineProducts.FirstOrDefault(x => x.Product.Name == selectedProduct.Name).Product;
         if (selectedItem != null)
         {
             m_InsertedMoney = m_InsertedMoney - selectedItem.Cost;
         }
         return(selectedItem);
     }
     catch (Exception)
     {
         throw new VendingMachineException("Invalid Item Selection.");
         Console.WriteLine();
     }
 }
 public bool Restock(IProduct product, int amount)
 {
     return(VendingMachineProducts.FirstOrDefault(x => x.Product.Name == product.Name).AddStock(product, amount));
 }