예제 #1
0
        public void Execute(params string[] parameters)
        {
            if (parameters.Length != 0)
            {
                Console.WriteLine("Команда не принимает параметры");
                return;
            }

            if (_listCategoriesRecipes.Categories.Count == 0)
            {
                Console.WriteLine("Список рецептов пуст");
            }
            else
            {
                Console.WriteLine("Список для рецептов:");
                _listCategoriesRecipes.Print();
            }

            if (_availableRecipes.RecommendedRecipes.Count == 0)
            {
                return;
            }

            Console.WriteLine("Список рецептов, для которых есть часть продуктов");

            _availableRecipes.FindRecommendations(_availabilityProducts.GetProductsAll());

            var appRecipes = new Application();

            appRecipes.AddCommand(new ExitCommand(appRecipes));
            appRecipes.AddCommand(new ExplainCommand(appRecipes));
            appRecipes.AddCommand(new HelpCommand(appRecipes));
            appRecipes.AddCommand(new AddPossibleRecipes(_availableRecipes.RecommendedRecipes, _listCategoriesRecipes));
            appRecipes.AddCommand(new InfoPossibleRecipes(_availableRecipes.RecommendedRecipes, _availabilityProducts, _necessaryProducts));
            appRecipes.AddCommand(new DisplayPossibleRecipes(_availableRecipes.RecommendedRecipes));

            appRecipes.FindCommand("display").Execute();

            appRecipes.Run(Console.In);
        }