private void ClearDatabaseButton_Click(object sender, RoutedEventArgs e) { using (var db = new ArticleContext()) { db.Articles.RemoveRange(db.Articles); db.SaveChanges(); } }
/// <summary> /// Remove all entries from database that are older than specified number of days /// </summary> /// <param name="days"></param> private static void RemoveOlderFromDatabase(int days) { using (var db = new ArticleContext()) { var toBeRemoved = db.Articles.Where(x => DbFunctions.DiffDays(x.PublishedAt, DateTime.Now) >= days); //foreach (var article in toBeRemoved) //{ // if (File.Exists(article.LocalPathToImage)) // File.Delete(article.LocalPathToImage); //} db.Articles.RemoveRange(toBeRemoved); db.SaveChanges(); } }
/// <summary> /// Adds article collection to database with specified category /// </summary> /// <param name="newsCollection"></param> /// <param name="category"></param> private static void AddToDatabase(ArticleCollection newsCollection, ArticleCategory category) { List <Article> newArticlesList = new List <Article>(); using (var db = new ArticleContext()) { foreach (var article in newsCollection.Articles) { if (!db.Articles.Where(x => x.Category == category).Any(x => x.Url == article.Url)) { article.Category = category; article.Country = Properties.Settings.Default.NewsSourceCountryCode; article.LocalPathToImage = DownloadImage(article.UrlToImage); newArticlesList.Add(article); } } db.Articles.AddRange(newArticlesList); db.SaveChanges(); } }