Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }