示例#1
0
        public async Task <IActionResult> Article(int articleId, string code)
        {
            var command = new ViewArticleCommand(articleId, "TODO");
            var article = await articleService.ViewArticle(command);

            var bucket = new Dictionary <int, List <ArticleComment> >();
            // 构建评论结构,方便渲染
            var postComments = new List <ArticleComment>();

            article.Comments.ForEach(it => {
                if (it.RootId != null)
                {
                    bucket[it.RootId.Value] ??= new List <ArticleComment>();

                    bucket[it.RootId.Value].Add(it);
                }
                else
                {
                    postComments.Add(it);
                }
            }
                                     );

            ViewBag.Title   = DataTools.MakeWebTitle(article.Title);
            ViewBag.Email   = Request.Cookies["email"] ?? string.Empty;
            ViewBag.Website = Request.Cookies["website"] ?? string.Empty;
            ViewBag.Name    = Request.Cookies["name"] ?? string.Empty;
            return(EnhancedView("Article", new ArticleViewModel(article, postComments, bucket)));
        }
示例#2
0
        public async Task <ArticleData> ViewArticle(ViewArticleCommand command)
        {
            var article = await this.articleRepository.GetAsync(command.articleId);

            article.Access("TODO-IP");
            return(mapper.Map <ArticleData>(article));
        }