public DateTime GetNewestLocalNewsDate() { using (var db = NewsDataContext.Create()) { db.ObjectTrackingEnabled = false; return(db.News.OrderByDescending(item => item.PublishDate).Select(news => news.PublishDate).Take(1).FirstOrDefault().GetValueOrDefault(DateTime.MinValue)); } }
private List <NewsItem> LoadLocalNewsData() { using (var db = NewsDataContext.Create()) { db.ObjectTrackingEnabled = false; return(db.News.OrderByDescending(item => item.PublishDate).ToList()); } }
public void DeleteNewsOlderThan(DateTime timeLimit) { using (var db = NewsDataContext.Create()) { var newsToDelete = db.News.Where(n => n.PublishDate < timeLimit); db.News.DeleteAllOnSubmit(newsToDelete); db.SubmitChanges(); } }
public static NewsDataContext Create() { NewsDataContext db = new NewsDataContext(); if (!db.DatabaseExists()) { db.CreateDatabase(); } return db; }
public void MarkAsRead(NewsItem news) { using (var db = NewsDataContext.Create()) { var loadedNews = db.News.Single(n => n.Id == news.Id); loadedNews.IsRead = true; db.SubmitChanges(); } news.IsRead = true; }
public static NewsDataContext Create() { NewsDataContext db = new NewsDataContext(); if (!db.DatabaseExists()) { db.CreateDatabase(); } return(db); }
private void SaveFilteredRssNews(List <XElement> rssNews) { if (rssNews.Count == 0) { return; } using (var db = NewsDataContext.Create()) { foreach (XElement rssItem in rssNews) { NewsItem news = new NewsItem(); news.IsRead = false; XElement linkElement = rssItem.Element("link"); if (linkElement == null) { // Wenn Artikel-URL fehlt, ist die News nichts wert continue; } news.Link = rssItem.Element("link").Value; XElement descriptionElement = rssItem.Element("description"); string preview = descriptionElement != null ? descriptionElement.Value : ""; news.Preview = preview; XElement publishDateElement = rssItem.Element("pubDate"); if (publishDateElement != null) { news.PublishDate = DateTime.Parse(publishDateElement.Value); } XElement thumbnailElement = rssItem.Element("enclosure"); if (thumbnailElement != null && thumbnailElement.Attribute("url") != null) { news.Thumbnail = thumbnailElement.Attribute("url").Value; } XElement titleElement = rssItem.Element("title"); if (titleElement != null) { news.Title = titleElement.Value; } db.News.InsertOnSubmit(news); } db.SubmitChanges(); } }