/// <summary>
        /// Adds quantity to an exisiting item
        /// </summary>
        /// <param name="id">Id of the existing item</param>
        /// <param name="quantity">Quantity to add to the existing item</param>
        public void Add(string id, int quantity)
        {
            var inventory = GetAllInventory();

            if (inventory.ContainsKey(id))
            {
                var exisitingQuantity = Int32.Parse(inventory[id][1]);
                quantity         = exisitingQuantity + quantity;
                inventory[id][1] = quantity.ToString();

                _output.Send($"{id}-{inventory[id][0]} previous quantity: {exisitingQuantity}");
                _output.Send($"{id}-{inventory[id][0]} added quantity: {exisitingQuantity}");
                _output.Send($"{id}-{inventory[id][0]} current quantity: {quantity}");

                WriteAllData(inventory);
            }
            else
            {
                _output.Send("Item id does not exist.");
            }
        }
Example #2
0
        public void Run()
        {
            // Welcome
            _status = AppStatus.Welcome;
            _output.Send("INVENTORY MANAGER");

            // SignUp or Login
            while (_status == AppStatus.Welcome)
            {
                _output.Send("1 Register");
                _output.Send("2 Login");
                _output.Send("Please select one of the two given options.");
                LoginOrRegister();
            }

            // Register
            while (_status == AppStatus.Register)
            {
                _output.Send("INVENTORY MANAGER REGISTRATION");
                _output.Send("Please select a username");
                var username = _input.ReadData();
                _output.Send("Please select a password");
                var password = _input.ReadData();

                Register(username, password);
            }

            // Login
            while (_status == AppStatus.Login)
            {
                _output.Send("INVENTORY MANAGER LOGIN");
                _output.Send("Please enter your username");
                var username = _input.ReadData();
                _output.Send("Please enter your password");
                var password = _input.ReadData();

                Login(username, password);
            }

            // Ask for action
            while (_status == AppStatus.UserActions)
            {
                _output.Send("INVENTORY MANAGER ACTIONS");
                _output.Send("1 Create item");
                _output.Send("2 Add to item quantity");
                _output.Send("3 Subtract from item quantity");
                _output.Send("4 Show all inventory");
                _output.Send("5 Close program");
                UserActions();
            }

            // Close application
            if (_status == AppStatus.CloseApp)
            {
                _output.Send("Goodbye");
                Thread.Sleep(2000);
                Environment.Exit(0);
            }
        }