public void Execute()
        {
            _outputReciever.ClearScreen();

            PrintCartItems();

            _outputReciever.WriteLine(new string('-', 20));
            _outputReciever.WriteLine($"Total: ${_cartService.GetTotalPrice()}");

            _outputReciever.GetStringResponse();
        }
Пример #2
0
        public void Execute()
        {
            _outputReciever.ClearScreen();
            _outputReciever.WriteLine("Select product:\n");

            _listManager.SetItems(_cartService.GetCartItems());
            _listManager.SetItemToString(item => $"{item.Product.Name}");
            _listManager.PrintItems();

            _outputReciever.Write("Your choise: ");
            var selectedItem = _listManager.GetSelectedItem();

            if (selectedItem.IsNull())
            {
                _outputReciever.WriteError("You didn't select anything. Try again.");
                return;
            }

            _outputReciever.Write("\nHow much products do we need to add to cart? [1] ");
            var count = _outputReciever.GetIntResponse() ?? 1;

            if (count < 1)
            {
                _outputReciever.WriteError("Can't add less than 1 product.");
                return;
            }

            _cartService.AddProduct(selectedItem.Product, Convert.ToUInt32(count));

            _outputReciever.WriteInfo($"Added {count} product(-s).");
        }
Пример #3
0
 private void WriteMenu()
 {
     _outputReciever.WriteLine($"{Title}\n");
     _listManager.SetItems(_consoleCommands);
     _listManager.SetItemToString(command => command.Title);
     _listManager.PrintItems();
 }
Пример #4
0
        private void ShowProducts()
        {
            _outputReciever.WriteLine("Choose product:");

            _listManager.SetItemToString(product => $"{product.Name} | ${product.Cost}");
            _listManager.SetItems(_productRepository.GetAllList());
            _listManager.PrintItems();
        }
Пример #5
0
        public void PrintItems()
        {
            for (var i = 0; i < _items.Count; i++)
            {
                var itemString = _toStringFunc.IsNull()
                    ? _items[i].ToString()
                    : _toStringFunc(_items[i]);

                _outputReciever.WriteLine($"{i}. {itemString}");
            }
        }
Пример #6
0
        public void Execute()
        {
            _outputReciever.ClearScreen();
            _outputReciever.WriteLine("Select product from cart:");

            var items = _cartService.GetCartItems();

            _listManager.SetItems(items);
            _listManager.SetItemToString(item => $"{item.Product.Name}");
            _listManager.PrintItems();

            var selectedProduct = _listManager.GetSelectedItem();

            if (selectedProduct.IsNull())
            {
                _outputReciever.WriteError("You didn't select product!");
                return;
            }

            _outputReciever.Write("Enter your key: ");

            var key = GetCouponKey();

            if (key.IsNullOrWhiteSpace())
            {
                _outputReciever.WriteError($"Entered key '{key}' does not conform our rules.");
                return;
            }

            var coupon = GetCoupon(key);

            if (coupon.IsNull())
            {
                _outputReciever.WriteError($"Coupon with key '{key}' does not exists.");
                return;
            }

            if (coupon.Product != selectedProduct.Product)
            {
                _outputReciever.WriteError($"Coupon with key '{key}' does not applies to that product.");
                return;
            }

            _cartService.AddProductDiscount(selectedProduct.Product, coupon.Value);

            _outputReciever.WriteInfo($"Coupon added. Discount to {selectedProduct.Product.Name} is {coupon.Value}%");
        }
        public void Execute()
        {
            _outputReciever.ClearScreen();

            _outputReciever.WriteLine("Select item from cart to remove:");

            _listManager.SetItems(_cartService.GetCartItems());
            _listManager.SetItemToString(item => $"{item.Product.Name}, In cart: {item.Count}");
            _listManager.PrintItems();

            var selectedProduct = _listManager.GetSelectedItem();

            if (selectedProduct.IsNull())
            {
                _outputReciever.WriteError("You didn't select anything. Try again.");
                return;
            }
            _cartService.RemoveProduct(selectedProduct.Product);
            _outputReciever.WriteWarn($"Product '{selectedProduct.Product.Name}' successfully removed.");
        }