Esempio n. 1
0
        /// <summary>
        /// 根据类型获得权限信息
        /// </summary>
        /// <param name="type">权限类型</param>
        /// <returns></returns>
        public List <PermissionsModel> GetPermissionsInfoByType(PermissionsTypesEnum type)
        {
            List <T_Permissions>    perInfos = _dal.GetPermissionsInfoByTypeAndEnable(type, null);
            List <PermissionsModel> listM    = PermissionsModel.GetList(perInfos, null);

            return(listM);
        }
Esempio n. 2
0
        /// <summary>
        /// 根据类型和启用标识获得顶层权限信息
        /// </summary>
        /// <param name="type">权限类型</param>
        /// <param name="ifEnable">启用标识</param>
        /// <returns>所有权限信息</returns>
        public List <T_Permissions> GetPermissionsInfoByTypeAndEnable(PermissionsTypesEnum type, bool?ifEnable)
        {
            Expression <Func <T_Permissions, bool> > expression = m => m.Type == (byte)type && !m.IfDelete && m.FK_ParentID == null;

            if (ifEnable != null)
            {
                expression = LinqManager.And(expression, m => m.IfEnable == ifEnable.Value);
            }
            List <T_Permissions> listM = _DB.T_Permissions.Where(expression.Compile()).OrderByDescending(m => m.Ranks).ToList();

            return(listM);
        }
Esempio n. 3
0
        public MResultModel GetPermissionsInfoByType(PermissionsTypesEnum Type)
        {
            List <PermissionsModel> listM = _bll.GetPermissionsInfoByType(Type);

            return(MResultModel <List <PermissionsModel> > .GetSuccessResultM(listM, "查询成功"));
        }
Esempio n. 4
0
        /// <summary>
        /// 根据类型和拥有权限获得权限组信息
        /// </summary>
        /// <param name="type">权限类型</param>
        /// <param name="hasIDs">拥有权限</param>
        /// <returns>权限信息</returns>
        private PermissionsGroupModel GetEnablePermissionsInfoByUserGroupIDAndTypeAndHsID(PermissionsTypesEnum type, Guid[] hasIDs, PermissionsModelModeEnum mode)
        {
            List <T_Permissions>  perInfos = _dal.GetPermissionsInfoByTypeAndEnable(type, true);
            PermissionsGroupModel tempM    = new PermissionsGroupModel
            {
                Type  = type,
                Items = PermissionsModel.GetList(perInfos, true, hasIDs, mode)
            };

            return(tempM);
        }
Esempio n. 5
0
        /// <summary>
        /// 根据用户组ID和类型获得所拥有启用的权限信息
        /// </summary>
        /// <param name="userGroupID">用户组ID</param>
        /// <param name="type">权限类型</param>
        /// <returns>权限信息</returns>
        /// <exception cref="ArgumentException"></exception>
        public PermissionsGroupModel GetHasEnablePermissionsInfoByUserGroupID(Guid[] userGroupIDs, PermissionsTypesEnum type)
        {
            List <Guid> ids = new List <Guid>();

            foreach (Guid item in userGroupIDs)
            {
                ids.AddRange(GetHasPermissionsIDsByUserGroupID(item));
            }
            return(GetEnablePermissionsInfoByUserGroupIDAndTypeAndHsID(type, ids.Distinct().ToArray(), PermissionsModelModeEnum.Has));
        }