Пример #1
0
        /// <summary>
        /// 实现查询出所有的菜单组信息
        /// </summary>
        /// <returns>返回查询出来的菜单组的Json串</returns>
        public ActionResult GetAllPermissionGroups()
        {
            //首先拿到传递过来的参数
            int pageIndex = Request["page"] == null ? 1 : int.Parse(Request["page"]);
            int pageSize  = Request["rows"] == null ? 10 : int.Parse(Request["rows"]);
            int total     = 0;

            //得到多条件查询和回收站的参数
            string GroupName         = Request["GroupName"];
            int?   GroupType         = Request["GroupType"] == null ? -1 : int.Parse(Request["GroupType"]);
            int?   DeletionStateCode = Request["DeletionStateCode"] == null ? -1 : int.Parse(Request["DeletionStateCode"]);

            //封装一个实体层表示查询的类
            PermissionGroupQuery permissionGroup = new PermissionGroupQuery()
            {
                PageIndex         = pageIndex,
                PageSize          = pageSize,
                Total             = total,
                GroupName         = GroupName,
                GroupType         = GroupType,
                DeletionStateCode = DeletionStateCode
            };
            //根据条件查询结果
            var data   = _permissionGroupService.LoadSearchDate(permissionGroup);
            var result = new { total = permissionGroup.Total, rows = data };

            return(JsonDate(result));
        }
Пример #2
0
        /// <summary>
        /// 实现对菜单组的查询
        /// </summary>
        /// <param name="permission">传递的是菜单组查询的实体类</param>
        /// <returns>返回结果</returns>
        public IEnumerable <BasePermissionGroup> LoadSearchDate(PermissionGroupQuery permissionGroup)
        {
            var temp = _DbSession.BasePermissionGroupRepository.LoadEntities(c => true);

            if (!string.IsNullOrEmpty(permissionGroup.GroupName))
            {
                temp = temp.Where <BasePermissionGroup>(c => c.GroupName.Contains(permissionGroup.GroupName));
            }
            if (permissionGroup.GroupType != -1)
            {
                temp = temp.Where <BasePermissionGroup>(c => c.GroupType == permissionGroup.GroupType);
            }
            if (permissionGroup.DeletionStateCode == 1)
            {
                temp = temp.Where <BasePermissionGroup>(c => c.DeletionStateCode == permissionGroup.DeletionStateCode);
            }
            else
            {
                temp = temp.Where <BasePermissionGroup>(c => c.DeletionStateCode == 0);
            }
            permissionGroup.Total = temp.Count();
            return(temp.OrderBy(c => c.SortCode)
                   .Skip(permissionGroup.PageSize * (permissionGroup.PageIndex - 1))
                   .Take(permissionGroup.PageSize));
        }