using System; using System.Linq; using System.Threading.Tasks; using System.Collections.Generic; using Database; using Classes; using Aggregator.Parser; namespace Main { internal static class Program { private static async Task Main(string[] args) { List configs = new List() { new Config() { Source = "BBC", Title = 0, Description = 1, ArticleLink = 2, ImageLink = 5, PublishDate = 4 } }; string[] xmls = new[] { await Download.DownloadXML("http://feeds.bbci.co.uk/news/rss.xml") }; List
articles = ParserService.ParseMultiple(xmls, configs).ToList(); Console.WriteLine(articles.Count); using (var db = new DatabaseContext()) { int start; try { start = db.Articles.Last().ArticleID; } catch (Exception) { start = 0; } var insertReady = articles.Select((article, index) => new Article() { ArticleID = index + start, Source = article.Source, Title = article.Title, Description = article.Description, ArticleLink = article.ArticleLink, ImageLink = article.ImageLink, PublishDate = article.PublishDate }).ToList(); insertReady.ForEach(async article => await db.Articles.AddAsync(article)); int records = await db.SaveChangesAsync(); Console.WriteLine($"Wrote {records} records!"); } } } }