/// <summary> /// 设置文章置顶 /// </summary> /// <param name="articalId"></param> /// <param name="isSetTop"></param> /// <returns></returns> public async Task <IActionResult> OnPostSetTopAsync(long articalId, bool isSetTop) { var artical = await ArticalService.GetArticalByIdAsync(articalId).ConfigureAwait(false); if (artical == null) { return(NotFound()); } //是否被授权 AuthorizationResult authorizationResult = await AuthorizationService.AuthorizeAsync( User, Permissons.Permisson.Article_SetTop).ConfigureAwait(false); if (!authorizationResult.Succeeded) { return(Forbid()); } //文章置顶 var result = await ArticalService.SetArticleTopAsync(articalId, isSetTop).ConfigureAwait(false); if (!result.Succeeded) { AddModelError(result.ErrorMessage); return(BadRequest(ModelState)); } return(this.Content(string.Empty)); }
//删除文章 public async Task <IActionResult> OnPostDeleteAsync(long articalId) { if (articalId > 0) { var artical = await ArticalService.GetArticalByIdAsync(articalId).ConfigureAwait(false); if (artical == null) { return(NotFound()); } //是否被授权 AuthorizationResult authorizationResult = await AuthorizationService.AuthorizeAsync( User, Permissons.Permisson.Article_Delete).ConfigureAwait(false); if (!authorizationResult.Succeeded) { return(Forbid()); } //删除文章 var resone = await ArticalService.DeleteArticalAsync(articalId).ConfigureAwait(false); if (resone.Succeeded) { return(new NoContentResult()); } ModelState.AddModelError(string.Empty, resone.ErrorMessage); } return(BadRequest(ModelState)); }
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()); }
public async Task <IActionResult> OnGetAsync() { //修改 if (Id.HasValue) { var artical = await ArticalService.GetArticalByIdAsync(Id.Value).ConfigureAwait(false); //更新文章 if (artical == null) { return(NotFound()); } //禁止修改别人的文章 if (artical.UserId != CurUserId) { return(Forbid()); } AddOrUpdateArtical = new AddOrUpdateArticalModel { ClassificationId = artical.ClassificationId, Content = artical.Content, Title = artical.Title }; } //有发布系统公告权限? if ((await AuthorizationService.AuthorizeAsync(User, Permissons.Permisson.Article_System) .ConfigureAwait(false)).Succeeded) { ArticalClassifications = await ArticalService.GetArticalClassificationsAsync().ConfigureAwait(false); } else { ArticalClassifications = (await ArticalService.GetArticalClassificationsAsync()).Where(e => e.Name != "系统公告").ToList(); } return(Page()); }