Exemple #1
0
        public async Task OnGetAsync()
        {
            if (!ClassificationId.HasValue)
            {
                //mostVisitArtical = articalService.GetArticlesAsync()
                //.OrderByDescending(e => e.VisitCount)
                //.Take(5);
                mostVisitArtical = await ArticalService.GetArticlesAsync(func : a => { return(a.OrderByDescending(e => e.VisitCount)); }, take : 5).ConfigureAwait(false);
            }
            else
            {
                ArticalClassificationInfo = await ArticalService.GetArticalClassificationByIdAsync(ClassificationId.Value).ConfigureAwait(false);

                mostVisitArtical = await ArticalService.GetArticlesAsync(func : a =>
                {
                    return(a.Where(e => e.ClassificationId == ClassificationId).OrderByDescending(e => e.VisitCount));
                }, take : 5).ConfigureAwait(false);
            }
        }
        public async Task <IActionResult> OnGetAsync()
        {
            //获取这篇文章
            Artical = await ArticalService.GetArticalByIdAsync(ArticalId).ConfigureAwait(false);

            if (Artical == null)
            {
                return(NotFound());
            }

            //作者信息
            Author = await UserClient.FindByIdAsync(new UserIdReq { UserId = Artical.UserId });

            //文章分类信息
            ClassificationInfo = await ArticalService.GetArticalClassificationByIdAsync(Artical.ClassificationId).ConfigureAwait(false);

            //阅读量+1
            await ArticalService.UpdateArticalAsync(ArticalId, new UpdateArticalDto
            {
                ArticalId        = ArticalId,
                VisitCount       = Artical.VisitCount + 1,
                ClassificationId = Artical.ClassificationId,
                Content          = Artical.Content,
                Title            = Artical.Title
            }).ConfigureAwait(false);


            //评论列表
            Comments = ArticalService.GetArticalComments(Artical.Id).OrderByDescending(e => e.CommentTime);

            //评论数量
            CommentsCount = await Comments.CountAsync().ConfigureAwait(false);

            //获取作者其他文章且不包含这篇文章
            AuthorOtherArticals = await ArticalService.GetArticlesAsync(
                articles =>
            {
                return(articles.Where(e => e.Id != ArticalId).OrderByDescending(e => e.PublishTime));
            }, take : 5).ConfigureAwait(false);

            return(Page());
        }