Пример #1
0
        public async Task <IActionResult> PostMemberCommentAsync([FromHeader] String source,
                                                                 [FromRoute] RouteIdString route,
                                                                 [FromBody] CommentPost item)
        {
            var response = new Response <Object>();

            try {
                if (item.ParentId.HasValue)
                {
                    await _IMemberCommentRepository.IncrementComment(item.ParentId.Value);
                }
                var entity = new MemberComment();

                entity.NewsId      = route.id;
                entity.ParentId    = item.ParentId.HasValue ? item.ParentId : 0;
                entity.MemberId    = item.MemberId;
                entity.MemberName  = item.MemberName;
                entity.QuoteId     = item.QuoteId;
                entity.QuoteName   = item.QuoteName;
                entity.CommentBody = item.CommentBody;
                entity.CommentTime = System.DateTime.Now;
                entity.Up          = 0;
                entity.Number      = 0;
                entity.IsEnable    = 1;
                await _IMemberCommentRepository.AddAsync(entity);

                await _IMemberCommentRepository.SaveChangesAsync();

                response.Code = true;
            }
            catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }
Пример #2
0
        public async Task <IActionResult> GetMemberCommentAsync([FromHeader] String source,
                                                                [FromRoute] RouteIdString route,
                                                                [FromQuery] CommentGet item)
        {
            var response = new Response <Object>();

            try {
                var express = Express.Begin <MemberComment>(true);
                express = express.And(a => a.NewsId == route.id && a.ParentId == 0 && a.IsEnable == 1);

                var result = await _IMemberCommentRepository.Query(express)
                             .Select(a => new {
                    CommentId   = a.CommentId,
                    NewsId      = a.NewsId,
                    ParentId    = a.ParentId,
                    MemberId    = a.MemberId,
                    MemberName  = a.MemberName,
                    CommentBody = a.CommentBody,
                    CommentTime = a.CommentTime,
                    QuoteId     = a.QuoteId,
                    QuoteName   = a.QuoteName,
                    Up          = a.Up,
                    Number      = a.Number,
                    Avatar      = a.MemberInfos.Avatar,
                    IsUp        = item.MemberId > 0 ? a.MemberCommentUps.Any(b => b.MemberId == item.MemberId) : false
                })
                             .OrderBy(a => a.CommentTime)
                             .ToPager(item.PageIndex.Value, item.PageSize.Value)
                             .ToListAsync();

                if (result.Count <= 0)
                {
                    return(NoContent());
                }
                else
                {
                    response.Code = true;
                    response.Data = result;
                }
            }
            catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }