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!"); // } // } private static async Task Main(string[] args) { using (var db = new DatabaseContext()) { int start; try { start = db.Articles.Last().ArticleID; } catch (Exception) { start = 0; } try { var articles = new List
() { new Article() { Title = "TITLE1" }, new Article() { Title = "TITLE2" }, new Article() { Title = "TITLE3" } }; await db.AddRangeAsync(articles.Select((article, index) => new Article() { ArticleID = index + start, Title = article.Title})); await db.SaveChangesAsync(); } catch (Microsoft.EntityFrameworkCore.DbUpdateException) { Console.WriteLine("Duplicate!"); } } } } }