public static async Task <Feed> Init(string feedUri, string name, string type) { Feed initFeed = null; DbgHelper.CurrentNumberOfFeeds("Beginn von Init"); using (var db = new FeedModelContainer()) { var feedUris = db.Feeds.Select(f => f.Uri).ToList <string>(); if (!feedUris.Contains(feedUri)) { DbgHelper.CurrentNumberOfFeeds("neue feedUri"); initFeed = new Feed() { Uri = feedUri, FeedType = type, Name = name, LastUpdated = DateTime.MinValue }; } else { DbgHelper.CurrentNumberOfFeeds("Keine neue feedUri"); initFeed = db.Feeds.Where(f => f.Uri.Equals(feedUri)).FirstOrDefault(); } } DbgHelper.CurrentNumberOfFeeds("Vor ReadItems"); await initFeed.ReadItems(); return(initFeed); }
public void SaveItemsToDatabase(IEnumerable <FeedItem> items) { using (var db = new FeedModelContainer()) { DbgHelper.CurrentNumberOfFeeds("Beginn von SaveItemsToDatabase"); var itemUIds = db.FeedItems.Where(i => i.Feed.Id == this.Id).Select(i => i.UId).ToList <string>(); foreach (var item in items) { try { if (!itemUIds.Contains(item.UId)) { db.FeedItems.Add(item); } } catch (DbEntityValidationException dbValEx) { logger.ErrorException(">>>>>>>>>>>", dbValEx); } } DbgHelper.CurrentNumberOfFeeds("Vor db.SaveChanges"); db.SaveChanges(); DbgHelper.CurrentNumberOfFeeds("Nach db.SaveChanges"); } }
/// <summary> /// Setzt das letzte Update des Feeds auf den aktuellen Zeitpunkt (sollte in Event geändert werden) /// </summary> public void UpdateFeed() { using (var db = new FeedModelContainer()) { DbgHelper.CurrentNumberOfFeeds("Beginn von UpdateFeed"); var feed = db.Feeds.Where(f => f.Id == this.Id).FirstOrDefault(); if (feed != null) { DbgHelper.CurrentNumberOfFeeds("Feed gefunden"); feed.LastUpdated = DateTime.Now; db.SaveChanges(); DbgHelper.CurrentNumberOfFeeds("Nach db.SaveChanges"); } } }
public rssForm() { InitializeComponent(); List <Feed> feeds = new List <Feed>(); using (var db = new dotrss.Database.FeedModelContainer()) { feeds = db.Feeds.Include("FeedItem").ToList <Feed>(); foreach (var feed in feeds.OrderBy(f => f.Name)) { TreeNode feedNode = new TreeNode(); feedNode.Text = feed.Name + "(" + feed.Items.Count + ")"; feedNode.Tag = feed; foreach (var feedItem in feed.Items) { TreeNode itemNode = new TreeNode(); itemNode.Text = feedItem.Title.Substring(0, Math.Max(feedItem.Title.Length, 15)); itemNode.Tag = feedItem; feedNode.Nodes.Add(itemNode); } treeViewFeedList.Nodes.Add(feedNode); } } }