示例#1
0
        static void Main(string[] args)
        {
            IDisplay        display       = new ConsoleDisplay();
            IHandler        handler       = new RssHandlerService();
            IConfigManager  configManager = new JsonConfigManager();
            IRssManager     rssManager    = new RssManager(configManager);
            var             loggerFactory = new LoggerFactory();
            CommandsService commands      = new CommandsService(rssManager, loggerFactory.CreateLogger <CommandsService>(), handler);
            bool            exit          = true;

            Console.WriteLine("Введите help для просмотра доступных комманд.");
            do
            {
                string   command          = Console.ReadLine();
                string[] commandFragments = command.Split(" ");
                string   result           = "";
                switch (commandFragments[0])
                {
                case "pull":
                    result = commands.Pull();
                    display.Display(result);
                    break;

                case "list":
                    var list = commands.List();
                    foreach (var rss in list)
                    {
                        foreach (var article in rss)
                        {
                            display.Display(article);
                        }
                    }
                    break;

                case "remove":
                    result = commands.Remove();
                    display.Display(result);
                    break;

                case "exit":
                    exit = false;
                    break;

                case "clear":
                    Console.Clear();
                    break;

                case "add":
                    result = commands.Add(commandFragments[1]);
                    display.Display(result);
                    break;

                case "help":
                    Console.WriteLine("pull\tЧитает RSS ленты из файла настроек, скачивает их и сохраняет на локальный диск." +
                                      "\nlist\tЧитает скаченные локально RSS ленты и отображает их элементы." +
                                      "\nremove\tУдаляет все скаченные RSS ленты." +
                                      "\nadd\tДобавляет RSS ленту в список для загрузки." +
                                      "\nclear\tОчисщает консоль." +
                                      "\nexit\tВыйти из программы."); break;

                default: Console.WriteLine("Error executing command."); break;
                }
            } while (exit);
        }