BeiDream.Demo.Service.Users.UserService.Query C# (CSharp) Method

Query() private method

private Query ( BeiDream.Demo.Domain.Queries.UserQuery query ) : PagerList
query BeiDream.Demo.Domain.Queries.UserQuery
return PagerList
        public PagerList<UserDto> Query(UserQuery query)
        {
            //todo:easyui组件的ajax请求异常,暂时无法拦截
            //throw new Exception("用户查询异常,easyui ajax操作全局异常测试");
            if (string.IsNullOrWhiteSpace(query.Order))   //分页必须先进行排序
                query.Order = "Id desc";
            query.TotalCount = _userRepository.GetAllFilterDataPermissions().Count();
            IQueryable<User> users = GetQueryConditions(_userRepository.GetAllFilterDataPermissions(), query)   //where查询条件必须放在排序和分页前,不然生成SQL有BUG
                .OrderByIfOrderNullOrEmpty(query.Order)
                    .Skip(query.GetSkipCount())
                    .Take(query.PageSize);
            var result = new PagerList<User>(query);
            result.AddRange(users.ToList());
            return result.Convert(p => p.ToDto());
        }