Ejemplo n.º 1
0
 static void WriteReceivedArticle(LentaArticle art, string lnk)
 {
     Console.Write($"{gotArticles.Count()}. {art.GetHead()} - {art.GetCategory()} ");
     Console.ForegroundColor = ConsoleColor.Green;
     Console.Write(lnk + "\n\r");
     Console.ResetColor();
 }
Ejemplo n.º 2
0
        static void Runner(string lnk)
        {
            if (!gotArticles.Contains(lnk))
            {
                gotArticles.Add(lnk);
                FileController.AppendLine(artCollection, lnk);
                LentaArticle art;
                try
                {
                    art = new LentaArticle(lnk);
                }
                catch (Exception e)
                {
                    WriteExecption(e, String.Format("Ошибка при получении статьи {0}.", lnk));
                    return;
                }
                var key = art.GetCategory();
                if (!gotCategories.ContainsKey(key))
                {
                    gotCategories.Add(key, 0);
                }

                if (gotCategories[key] < artCnt)
                {
                    gotCategories[key]++;
                    WriteReceivedArticle(art, lnk);
                    FileController.RewriteCollectionDict(artCategories, gotCategories);
                    try
                    {
                        dbController.ArticleInsert(art.GetHead(), art.GetBody(), art.GetDateTime().ToString(), art.GetCategory());
                        var end = "";
                        foreach (var item in gotCategories)
                        {
                            if (item.Value < artCnt)
                            {
                                end += String.Format($"{item.Key}-{item.Value} ");
                            }
                        }
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine(end);
                        Console.ResetColor();
                    }
                    catch (Exception e)
                    {
                        WriteExecption(e, "Ошибка при добавлении записи в базу данных.");
                    }
                    foreach (var url in art.GetLinksNext())
                    {
                        Runner(url);
                    }
                }
            }
        }