@ -22,8 +22,11 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
{
protected ICommentRepository CommentRepository { get ; }
private readonly ISettingManager SettingManager ;
public CommentAdminAppService ( ICommentRepository commentRepository , ISettingManager settingManager )
protected ISettingManager SettingManager { get ; }
public CommentAdminAppService (
ICommentRepository commentRepository ,
ISettingManager settingManager )
{
CommentRepository = commentRepository ;
SettingManager = settingManager ;
@ -31,39 +34,39 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
public virtual async Task < PagedResultDto < CommentWithAuthorDto > > GetListAsync ( CommentGetListInput input )
{
var totalCount = await CommentRepository . GetCountAsync (
input . Text ,
input . EntityType ,
input . RepliedCommentId ,
input . Author ,
input . CreationStartDate ,
input . CreationEndDate ,
input . CommentApproveState
) ;
var comments = await CommentRepository . GetListAsync (
input . Text ,
input . EntityType ,
input . RepliedCommentId ,
input . Author ,
input . CreationStartDate ,
input . CreationEndDate ,
input . Sorting ,
input . MaxResultCount ,
input . SkipCount ,
input . CommentApproveState
) ;
var dtos = comments . Select ( queryResultItem = >
{
var dto = ObjectMapper . Map < Comment , CommentWithAuthorDto > ( queryResultItem . Comment ) ;
dto . Author = ObjectMapper . Map < CmsUser , CmsUserDto > ( queryResultItem . Author ) ;
return dto ;
} ) . ToList ( ) ;
return new PagedResultDto < CommentWithAuthorDto > ( totalCount , dtos ) ;
var totalCount = await CommentRepository . GetCountAsync (
input . Text ,
input . EntityType ,
input . RepliedCommentId ,
input . Author ,
input . CreationStartDate ,
input . CreationEndDate ,
input . CommentApproveState
) ;
var comments = await CommentRepository . GetListAsync (
input . Text ,
input . EntityType ,
input . RepliedCommentId ,
input . Author ,
input . CreationStartDate ,
input . CreationEndDate ,
input . Sorting ,
input . MaxResultCount ,
input . SkipCount ,
input . CommentApproveState
) ;
var dtos = comments . Select ( queryResultItem = >
{
var dto = ObjectMapper . Map < Comment , CommentWithAuthorDto > ( queryResultItem . Comment ) ;
dto . Author = ObjectMapper . Map < CmsUser , CmsUserDto > ( queryResultItem . Author ) ;
return dto ;
} ) . ToList ( ) ;
return new PagedResultDto < CommentWithAuthorDto > ( totalCount , dtos ) ;
}
public virtual async Task < CommentWithAuthorDto > GetAsync ( Guid id )
@ -86,30 +89,31 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
[Authorize(CmsKitAdminPermissions.Comments.Update)]
public async Task UpdateApprovalStatusAsync ( Guid id , CommentApprovalDto input )
{
var comment = await CommentRepository . GetAsync ( id ) ;
comment . SetApprovalStatus ( input . IsApproved ) ;
var comment = await CommentRepository . GetAsync ( id ) ;
comment . SetApprovalStatus ( input . IsApproved ) ;
await CommentRepository . UpdateAsync ( comment ) ;
await CommentRepository . UpdateAsync ( comment ) ;
}
[Authorize(CmsKitAdminPermissions.Comments.Update )]
[Authorize(CmsKitAdminPermissions.Comments.SettingManagement )]
public async Task SetSettingsAsync ( CommentSettingsDto input )
{
await SettingManager . SetGlobalAsync ( AppSettings . CommentRequireApprovement , input . CommentRequireApprovement . ToString ( ) ) ;
}
[Authorize(CmsKitAdminPermissions.Comments.SettingManagement)]
public async Task < CommentSettingsDto > GetSettingsAsync ( )
{
var isRequireApprovementEnabled = bool . Parse ( await SettingManager . GetOrNullGlobalAsync ( AppSettings . CommentRequireApprovement ) ) ;
var isRequireApprovementEnabled = bool . Parse ( await SettingManager . GetOrNullGlobalAsync ( AppSettings . CommentRequireApprovement ) ) ;
return new CommentSettingsDto
{
CommentRequireApprovement = isRequireApprovementEnabled
} ;
{
CommentRequireApprovement = isRequireApprovementEnabled
} ;
}
public async Task < int > GetWaitingCountAsync ( )
{
return ( int ) await CommentRepository . GetCountAsync ( commentApproveState : CommentApproveState . Waiting ) ;
return ( int ) await CommentRepository . GetCountAsync ( commentApproveState : CommentApproveState . Waiting ) ;
}
}