public PageData <CommentDto> List(CommentListDto dto) { var data = _despository.List(dto); var result = Mapper.Map <PageData <CommentDto> >(data); return(result); }
public async Task <IActionResult> GetComments(string slug, [FromQuery] int page = 1, [FromQuery] int pageSize = 5) { Tuple <int, List <Comment> > comments = await _commentService.FetchPageByProduct(slug); return(StatusCodeAndDtoWrapper.BuildSuccess( CommentListDto.Build(comments.Item2, Request.Path, page, pageSize, comments.Item1) )); }
public async Task <IViewComponentResult> InvokeAsync(int id) { var commentListInDb = await _commentService.GetAllConfirmedByProducdIdAsync(id); var model = new CommentListDto { Comments = commentListInDb, CommentCount = commentListInDb.Count }; return(View(model)); }
/// <summary> /// 列表 /// </summary> /// <param name="dto"></param> /// <returns></returns> public PageData <TComment> List(CommentListDto dto) { StringBuilder condition = new StringBuilder(); if (!String.IsNullOrEmpty(dto.Articleid)) { condition.Append(" and articleid = @Articleid"); } if (!String.IsNullOrEmpty(dto.Ip)) { condition.Append(" and ip = @Ip"); } if (!String.IsNullOrEmpty(dto.Nickname)) { dto.Nickname = $"%{dto.Nickname}%"; condition.Append(" and Nickname like @Nickname"); } string modelQuery = $@"select * from g_Comment where 1=1 {condition} limit @startindex,@count"; string countQuery = "select count(1) from g_Comment"; var mixCondition = new { startindex = (dto.Page - 1) * dto.Size, count = dto.Size }; using (IDbConnection db = new MySqlConnection(constr)) { List <TComment> list = db.Query <TComment>(modelQuery, mixCondition).ToList(); int totalNum = db.Query <int>(countQuery, mixCondition).SingleOrDefault(); float totlapage = (float)totalNum / dto.Size; PageData <TComment> result = new PageData <TComment> { Items = list, TotalNum = totalNum, TotalPageCount = (int)Math.Ceiling(totlapage) }; return(result); } }