private void InStock()
        {
            InStockMenu InStockMenu = new InStockMenu(_filteringInstance);

            InStockMenu.Display();
            InStockMenu.InvokeAction(UserInput.CatchPositiveInt("Type option: "));
        }
        private void Prices()
        {
            PriceMenu PriceMenu = new PriceMenu(_filteringInstance);

            PriceMenu.Display();
            PriceMenu.InvokeAction(UserInput.CatchPositiveInt("Type option: "));
        }
        private void Names()
        {
            NameMenu NameMenu = new NameMenu(_filteringInstance);

            NameMenu.Display();
            NameMenu.InvokeAction(UserInput.CatchPositiveInt("Type option: "));
        }
        private void Categories()
        {
            CategoryMenu CategoryMenu = new CategoryMenu(_filteringInstance);

            CategoryMenu.Display();
            CategoryMenu.InvokeAction(UserInput.CatchPositiveInt("Type option: "));
        }
        static void Main(string[] args)
        {
            Console.SetWindowSize(WindowWidth, WindowHeight);

            ProductController ProductsController = CreateProductControllerInstance();
            Filtering         Filter             = CreateFilteringInstance();
            PagedProducts     Products           = CreatePagedProductsInstance();

            Menu.SetInstanceForDisplaying(Filter);

            bool programMainLoop;

            do
            {
                Products.SetListOfProducts(Filter.Filter(ProductsController.GetAllProducts()));
                Menu.Display(Products.GetPage());

                Option Option = new Option(Filter, Products);
                programMainLoop = Option.InvokeAction(UserInput.CatchPositiveInt("Type your option: "));
            }while (programMainLoop);
        }