public IActionResult DisplayFullBlogPost(int id) { var displayFullBlogPostViewModel = new DisplayFullBlogPostViewModel(); var blogPostToShow = (from b in _assignment1DataContext.BlogPosts where b.BlogPostId == id select b).FirstOrDefault(); displayFullBlogPostViewModel.BlogPost = blogPostToShow; var user = (from u in _assignment1DataContext.Users where blogPostToShow.UserId == u.UserId select u).FirstOrDefault(); displayFullBlogPostViewModel.User = user; var comments = (from c in _assignment1DataContext.Comments where c.BlogPostId == id select c).ToList(); displayFullBlogPostViewModel.Comments = comments; return(View(displayFullBlogPostViewModel)); }
public IActionResult DisplayFullBlogPost(int id) { DisplayFullBlogPostViewModel model = new DisplayFullBlogPostViewModel(); // If not first time and logged in if (HttpContext.Session.GetInt32("userid") != null) { var u2 = (from u in dataContext.Users where u.UserId == HttpContext.Session.GetInt32("userid") select u).FirstOrDefault(); model.User = u2; } // No lazy loading, causes errors in the long run dataContext.BlogPosts.Include(u => u.Users).ToList(); dataContext.Comments.Include(c => c.Users).ToList(); // Retrieve blog info model.BlogPost = (from bp in dataContext.BlogPosts where bp.BlogPostId == id select bp).First(); // Get comments associated with blog post model.Comments = (from c in dataContext.Comments where c.BlogPostId == model.BlogPost.BlogPostId orderby c.CommentId select c).ToList(); return(View(model)); }