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(); }
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); } } } }