Exemplo n.º 1
0
        public IActionResult Load(int pageIndex, int pageSize, string sort,
                                  OrderType order, string phoneNumber, string userName, DateTime startTime, DateTime endTime)
        {
            PageHelper.GetPageIndex(ref pageIndex);
            PageHelper.GetPageSize(ref pageSize);

            var tempUsers = UserInfoServices.LoadEntities(u => true);

            #region 查询
            if (!String.IsNullOrEmpty(phoneNumber))
            {
                tempUsers = tempUsers.Where(u => u.PhoneNumber == phoneNumber.Trim());
            }
            if (!String.IsNullOrEmpty(userName))
            {
                tempUsers = tempUsers.Where(u => u.UserName == userName.Trim());
            }
            if (startTime > new DateTime(1970, 1, 1) && startTime != endTime)
            {
                tempUsers = tempUsers.Where(u => u.AddTime > startTime);
            }
            if (endTime > startTime)
            {
                tempUsers = tempUsers.Where(u => u.AddTime < endTime);
            }
            #endregion

            #region 排序
            if ("AddTime".Equals(sort, StringComparison.InvariantCultureIgnoreCase))
            {
                tempUsers = Sort(tempUsers, u => u.AddTime, order).ThenBy(u => u.ID);
            }
            else
            {
                tempUsers = Sort(tempUsers, u => u.ID, order);
            }
            #endregion
            int totalCount = tempUsers.Count();
            var users      = UserInfoServices
                             .LoadPageEntities(pageIndex, pageSize, tempUsers);

            int pageCount = PageHelper.GetPageCount(totalCount, pageSize);
            return(Ok(new
            {
                total = totalCount,
                rows = users.Select(u => new
                {
                    Id = u.ID,
                    u.UserName,
                    u.Name,
                    u.PhoneNumber,
                    u.Password,
                    u.AddTime,
                    u.IsCanUse
                })
            }));
        }