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()); }
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()); }