public List <SystemPrivilegeEntity> GetAllPrivilegeByCategoryByUserID(string categoryName, SystemUserEntity userEntity)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.In(QueryObjects.GetUserAssignedRoles(userEntity)));

            if (!string.IsNullOrEmpty(categoryName))
            {
                InClude_PrivilegeID_Query(dynamicQueryGenerator);
                dynamicQueryGenerator.AddWhereClause(PROPERTY_PRIVILEGEID_PRIVILEGECATEGORY.Eq(categoryName));
            }

            return(this.FindListByProjection <SystemPrivilegeEntity>(dynamicQueryGenerator, GetDistinctProperty(PROPERTY_PRIVILEGEID)));

            //string hql = string.Format("select rp.PrivilegeID from {1} rp where rp.RoleID in (select ur.RoleID from {0} ur where ur.UserID = :userID)", SystemUserRoleRelationEntity.CLASS_FULL_NAME, SystemPrivilegeInRolesEntity.CLASS_FULL_NAME);

            //if (!string.IsNullOrEmpty(categoryName))
            //{
            //    hql += " and (rp.PrivilegeID.PrivilegeCategory = :categoryName)";
            //}


            //var parameters = new NhibernateParameterCollection();

            //parameters.AddParameter("userID", userEntity, NHibernateUtil.Entity(typeof(SystemUserEntity)));

            //if (!string.IsNullOrEmpty(categoryName))
            //{
            //    parameters.AddParameter("categoryName", categoryName, NHibernateUtil.Entity(typeof(string)));
            //}

            //return this.FindAllWithCustomQuery(hql, parameters);
        }
Beispiel #2
0
        public List <SystemUserRoleRelationEntity> GetUserRoleRelationByRole(SystemRoleEntity systemRoleEntity)
        {
            NHibernateDynamicQueryGenerator <SystemUserRoleRelationEntity> queryGenerator = this.GetNewQueryBuilder();

            queryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(systemRoleEntity));

            return(this.FindListByQueryBuilder(queryGenerator));
        }
Beispiel #3
0
        public List <SystemPrivilegeInRolesEntity> GetRoleAssignedPrivilegesInRole(SystemRoleEntity systemRoleEntity)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(systemRoleEntity));

            return(this.FindListByQueryBuilder(dynamicQueryGenerator));
        }
Beispiel #4
0
        public List <SystemPrivilegeInRolesEntity> GetAllPrivilegeByCategoryByUserID(SystemUserEntity userEntity)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.In(SystemUserRoleRelationDataObject.SubQueryGetUserAssignedRoles(userEntity)));

            return(this.FindListByQueryBuilder(dynamicQueryGenerator));
        }
Beispiel #5
0
        /// <summary>
        /// 获取角色分配的权限
        /// </summary>
        /// <param name="role"></param>
        /// <returns></returns>
        public List <SystemPrivilegeEntity> GetRoleAssignedPermissions(SystemRoleEntity role)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(role));

            return(FindListByProjection <SystemPrivilegeEntity>(dynamicQueryGenerator, PROPERTY_PRIVILEGEID.CriterionProperty));
        }
Beispiel #6
0
        /// <summary>
        /// 获取用户角色关系是否存在
        /// </summary>
        /// <param name="user">用户</param>
        /// <param name="role">角色</param>
        /// <returns></returns>
        public SystemUserRoleRelationEntity GetUserRoleRelation(SystemUserEntity user, SystemRoleEntity role)
        {
            NHibernateDynamicQueryGenerator <SystemUserRoleRelationEntity> queryGenerator = this.GetNewQueryBuilder();

            queryGenerator.AddWhereClause(PROPERTY_USERID.Eq(user));

            queryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(role));

            return(this.FindSingleEntityByQueryBuilder(queryGenerator));
        }
Beispiel #7
0
        /// <summary>
        /// 查找角色应用对应关系
        /// </summary>
        /// <param name="roleEntity"></param>
        /// <param name="applicationEntity"></param>
        /// <returns></returns>
        public SystemRoleApplicationEntity GetRelationByRoleAndApplication(SystemRoleEntity roleEntity, SystemApplicationEntity applicationEntity)
        {
            NHibernateDynamicQueryGenerator <SystemRoleApplicationEntity> queryGenerator = this.GetNewQueryBuilder();

            queryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(roleEntity));

            queryGenerator.AddWhereClause(PROPERTY_APPLICATIONID.Eq(applicationEntity));

            return(this.FindSingleEntityByQueryBuilder(queryGenerator));
        }
        public SystemRoleMenuRelationEntity GetRelationByUserAndMenu(SystemRoleEntity roleEntity, SystemMenuEntity menuEntity)
        {
            NHibernateDynamicQueryGenerator <SystemRoleMenuRelationEntity> queryGenerator = this.GetNewQueryBuilder();

            queryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(roleEntity));

            queryGenerator.AddWhereClause(PROPERTY_MENUID.Eq(menuEntity));

            return(this.FindSingleEntityByQueryBuilder(queryGenerator));
        }
Beispiel #9
0
        /// <summary>
        /// 获取角色权限对应关系
        /// </summary>
        /// <param name="roleEntity"></param>
        /// <param name="privilegEntity"></param>
        /// <returns></returns>
        public SystemPrivilegeInRolesEntity GetRelationByRoleAndPrivilege(SystemRoleEntity roleEntity, SystemPrivilegeEntity privilegEntity)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(roleEntity));

            dynamicQueryGenerator.AddWhereClause(PROPERTY_PRIVILEGEID.Eq(privilegEntity));

            return(FindSingleEntityByQueryBuilder(dynamicQueryGenerator));
        }
Beispiel #10
0
        public bool RolesHasPermission(List <SystemRoleEntity> roleEntities, SystemPrivilegeEntity permission)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.In(roleEntities));

            dynamicQueryGenerator.AddWhereClause(PROPERTY_PRIVILEGEID.Eq(permission));

            List <SystemPrivilegeInRolesEntity> list = FindListByQueryBuilder(dynamicQueryGenerator);

            return(list != null && list.Count > 0);
        }
Beispiel #11
0
        public List <SystemPrivilegeInRolesEntity> GetRoleAssignedPermissionsByResources(SystemRoleEntity role, SystemResourcesEntity resources)
        {
            NHibernateDynamicQueryGenerator <SystemPrivilegeInRolesEntity> dynamicQueryGenerator = this.GetNewQueryBuilder();

            dynamicQueryGenerator.AddWhereClause(PROPERTY_ROLEID.Eq(role));

            InClude_PrivilegeID_Query(dynamicQueryGenerator);

            dynamicQueryGenerator.AddWhereClause(PROPERTY_PRIVILEGEID_RESOURCESID.Eq(resources));

            dynamicQueryGenerator.AddOrderBy(PROPERTY_PRIVILEGEID_PRIVILEGEORDER.Asc());

            return(this.FindListByQueryBuilder(dynamicQueryGenerator));
        }
        public List <SystemMenuEntity> GetRoleAssignMenu(List <SystemRoleEntity> entities)
        {
            NHibernateDynamicQueryGenerator <SystemRoleMenuRelationEntity> queryGenerator = this.GetNewQueryBuilder();

            queryGenerator.AddWhereClause(PROPERTY_ROLEID.In(entities));

            InClude_MenuID_Query(queryGenerator);

            queryGenerator.AddWhereClause(PROPERTY_MENUID_MENUISENABLE.Eq(true));

            //使用disticnt以后无法排序

            //queryGenerator.AddOrderBy(PROPERTY_MENUID_PARENTMENUID.Asc());

            //queryGenerator.AddOrderBy(PROPERTY_MENUID_MENUORDER.Asc());

            return(this.FindListByProjection <SystemMenuEntity>(queryGenerator, GetDistinctProperty(PROPERTY_MENUID.CriterionProperty)));
        }