public JsonResult Load(int pageIndex, int pageSize, string sort,
                               OrderType order, string moduleName, int parentId,
                               DateTime startTime, DateTime endTime)
        {
            PageHelper.GetPageIndex(ref pageIndex);
            PageHelper.GetPageSize(ref pageSize);

            var tempModules = ModuleServices.LoadEntities(m => true);

            #region 查询
            if (!String.IsNullOrEmpty(moduleName))
            {
                tempModules = tempModules.Where(u => u.Name.Contains(moduleName.Trim()));
            }
            if (parentId > 0)
            {
                tempModules = tempModules.Where(u => u.Parent.ID == parentId);
            }
            if (startTime > new DateTime(1970, 1, 1) && startTime != endTime)
            {
                tempModules = tempModules.Where(u => u.AddTime > startTime);
            }
            if (endTime > startTime)
            {
                tempModules = tempModules.Where(u => u.AddTime < endTime);
            }
            #endregion

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

            int pageCount = PageHelper.GetPageCount(totalCount, pageSize);
            return(Json(new
            {
                total = totalCount,
                rows = modules.Select(m => new
                {
                    Id = m.ID,
                    m.Name,
                    m.Url,
                    m.IconName,
                    m.Sort,
                    ParentID = m.Parent == null ? 0 : m.Parent.ID,
                    ParentName = m.Parent == null ? String.Empty : m.Parent.Name,
                    m.AddTime
                })
            }));
        }