public static void checkUrls(string rssUrl, PageModel pageModel) { var publisher = pageModel.Publisher; var urlsInDB = getUrlsForPublisher(publisher); var rssModels = getRss(rssUrl); var urlsFromRSS = rssModels.Select(x => x.Link).ToList(); var newRssModels = new List<RssModel>(); for (int i = 0; i < urlsFromRSS.Count; i++) { var urlRss = urlsFromRSS[i]; if(pageModel.SkipUrlRegex != null) { var match = pageModel.GetSkipUrlRegex().IsMatch(urlRss); if(match) { Console.WriteLine("REGX - " + urlRss); continue; } } if (!urlsInDB.Contains(urlRss)) { newRssModels.Add(rssModels[i]); } } if (newRssModels.Count > 0) { Console.WriteLine(newRssModels.Count + " new urls for " + publisher); foreach (var rssModel in newRssModels) { getArticle(rssModel, pageModel); } } else { Console.WriteLine("No new urls for " + publisher); } }