/// <summary> /// Views the article. /// </summary> /// <param name="articleId">The article id.</param> /// <returns>Page Content</returns> public ActionResult ViewArticle(int articleId) { ArticleViewModel viewModel = new ArticleViewModel { Article = this.articleRepository.Articles.SingleOrDefault(p => p.ArticleId == articleId), Comments = this.commentRepository.Comments.Where(c => c.ArticleId == articleId), NewComment = new Comment(articleId) }; return this.View(viewModel); }
public ActionResult ViewArticle(ArticleViewModel viewModel) { if (viewModel != null && viewModel.NewComment != null) { if (viewModel.NewComment.ArticleId == viewModel.Article.ArticleId) { int nextId = 0; if (commentRepository.Comments.Count() > 0) { var singleOrDefault = this.commentRepository.Comments.OrderByDescending(b => b.CommentId).Take(1).SingleOrDefault(); if (singleOrDefault != null) { nextId = singleOrDefault.CommentId + 1; } } else { nextId = 1; } viewModel.NewComment.CommentId = nextId; if (User.Identity.IsAuthenticated) { viewModel.NewComment.Username = User.Identity.Name; } else { viewModel.NewComment.Username = "******"; } commentRepository.SaveComment(viewModel.NewComment); } } if (viewModel != null) { return this.RedirectToRoute( new { Controller = "Article", Action = "ViewArticle", ArticleId = viewModel.Article.ArticleId }); } return this.View("Index"); }