/// <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");
    }
Esempio n. 3
0
    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));
    }
Esempio n. 4
0
    // 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...");
        }
    }
Esempio n. 5
0
    /// <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);
    }