public async Task <CommentDetailResponse> GetDetial(CommentDetailRequest request)
        {
            var comment = await _commentData.GetAsync(request.Id);

            switch (comment.TargetType)
            {
            case CommentTargetType.Entity:
                return(new CommentDetailResponse()
                {
                    Access = ResponseAccess.Granted,
                    Comment = comment.MapToViewModelWithTarget(await _entityDataService.Query.Include(x => x.Scheme).FirstAsync(x => x.Id == comment.TargetId))
                });

            case CommentTargetType.Page:
                return(new CommentDetailResponse()
                {
                    Access = ResponseAccess.Granted,
                    Comment = comment.MapToViewModelWithTarget(await _pageDataService.GetAsync(comment.TargetId))
                });

            case CommentTargetType.Undefined:
            default: return(new CommentDetailResponse()
                {
                    Access = ResponseAccess.BadRequest
                });
            }
        }
Exemple #2
0
        public ExecuteResult <CommentInfoResponse> Detail(CommentDetailRequest request)
        {
            var entity = this._commentRepository.GetItem(request.CommentId);

            return(new ExecuteResult <CommentInfoResponse>(MappingManager.CommentInfoResponseMapping(entity, request.Version)));
        }
 public ActionResult Detail(CommentDetailRequest request)
 {
     return(new RestfulResult {
         Data = this._commentDataService.Detail(request)
     });
 }