private List<BlogPost> GetPosts() { var blogDataItems = PopulateSideBar(); var xmlFeed = XDocument.Load(Server.MapPath(Url.Content("/Content/TestFeed.aspx"))); //var xmlFeed = XDocument.Load("http://blogs.medifastcommunity.com/Blogs/Icestorm0141/Atom.aspx"); XNamespace xmlns = "http://www.w3.org/2005/Atom"; var items = xmlFeed.Descendants(xmlns + "feed") .Elements(xmlns + "entry"); foreach (var item in items) { var existsInDb = blogDataItems.Any(p => p.Title == item.Element(xmlns + "title").Value); if (!existsInDb) { var feedItem = new BlogPost() { DatePublished = DateTime.Parse(item.Element(xmlns + "published").Value).ToUniversalTime().AddHours(12), Title = item.Element(xmlns + "title").Value, PostContent = item.Element(xmlns + "content").Value }; LibraryContext.BlogPosts.Add(feedItem); blogDataItems.Add(feedItem); } } LibraryContext.SaveChanges(); ViewBag.Posts = blogDataItems; ViewBag.PostTitle = blogDataItems.OrderByDescending(p => p.DatePublished).First().Title; return blogDataItems.OrderByDescending(p => p.DatePublished).ToList(); //Atom10FeedFormatter xmlFeed = new Atom10FeedFormatter(); //using (XmlReader reader = XmlReader.Create("http://blogs.medifastcommunity.com/Blogs/Icestorm0141/Atom.aspx")) //{ // xmlFeed.ReadFrom(reader); //} //return xmlFeed.Feed.Items // .Select(item => new BlogFeed() // { // PublishDate = item.PublishDate.DateTime, // Title = item.Title.Text, // Content = item.Content.ToString() // }) // .ToList(); }
/// <summary> /// Deprecated Method for adding a new object to the BlogPosts EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToBlogPosts(BlogPost blogPost) { base.AddObject("BlogPosts", blogPost); }
/// <summary> /// Create a new BlogPost object. /// </summary> /// <param name="postId">Initial value of the PostId property.</param> /// <param name="title">Initial value of the Title property.</param> /// <param name="datePublished">Initial value of the DatePublished property.</param> /// <param name="postContent">Initial value of the PostContent property.</param> public static BlogPost CreateBlogPost(global::System.Int32 postId, global::System.String title, global::System.DateTime datePublished, global::System.String postContent) { BlogPost blogPost = new BlogPost(); blogPost.PostId = postId; blogPost.Title = title; blogPost.DatePublished = datePublished; blogPost.PostContent = postContent; return blogPost; }