Пример #1
0
        /// <summary>
        /// 分页查询方法
        /// </summary>
        /// <param name="dto">分页查询实体</param>
        /// <returns>分页用户数据列表</returns>
        public PageOutDtoBase <UserOutDto> GetUsersByPage(UserPageInDto dto)
        {
            List <User> userlist = new List <User>();

            //获取分页list数据
            if (dto.Name.IsNullOrWhiteSpace())
            {
                userlist = _userRepository.GetPaged(null, dto.CurrentPageIndex, dto.PageSize,
                                                    dto.SortField, (SortBy)dto.SortBy).ToList();
            }
            else
            {
                userlist = _userRepository.GetPaged(w => w.Name.Contains(dto.Name), dto.CurrentPageIndex, dto.PageSize,
                                                    dto.SortField, (SortBy)dto.SortBy).ToList();
            }
            var list = _mapper.Map <List <UserOutDto> >(userlist);
            //获取总记录数
            var query = _userRepository.GetAll();

            if (!string.IsNullOrWhiteSpace(dto.Name))
            {
                query = query.Where(w => w.Name.Contains(dto.Name));
            }
            var totalCount = query.Count();

            return(new PageOutDtoBase <UserOutDto>()
            {
                Total = totalCount, Data = list
            });
        }
 public IActionResult GetByPage([FromQuery] UserPageInDto dto)
 {
     return(Ok(_userService.GetUsersByPage(dto)));
 }