示例#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);
            }
        }
示例#2
0
        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());
        }
示例#3
0
        /// <summary>
        /// 获取文章
        /// </summary>
        /// <param name="skipCount"></param>
        /// <returns></returns>
        public async Task <IActionResult> OnGetLoadArticalsAsync(int skipCount)
        {
            //using (MiniProfiler.Current.Step("使用从数据库中查询的数据,进行Http请求"))
            {
                //  using (MiniProfiler.Current.CustomTiming("HTTP", "GET "))
                {
                    //await Task.Delay(2000);
                    List <ArticalDto> articals = null;
                    if (!ClassificationId.HasValue)
                    {
                        //没有分类
                        articals = await ArticalService.GetArticlesAsync(arg =>
                        {
                            return(arg.OrderByDescending(e => e.IsSetTop)
                                   .ThenByDescending(e => e.SetTopDateTime)
                                   .ThenByDescending(e => e.PublishTime));
                        }, skip : skipCount, take : TakeCount).ConfigureAwait(false);
                    }
                    else
                    {
                        //有分类
                        articals = await ArticalService.GetArticlesAsync(arg =>
                        {
                            return(arg.Where(e => e.ClassificationId == ClassificationId)
                                   .OrderByDescending(e => e.IsSetTop)
                                   .ThenByDescending(e => e.SetTopDateTime)
                                   .ThenByDescending(e => e.PublishTime));
                        }, skip : skipCount, take : TakeCount).ConfigureAwait(false);
                    }

                    return(new PartialViewResult
                    {
                        ViewName = "_ArticalListPartial",
                        ViewData = new ViewDataDictionary <IList <ArticalDto> >(ViewData, articals)
                    });
                }
            }
        }