コード例 #1
0
        /// <summary>
        /// 设置组织范围
        /// </summary>
        /// <param name="systemCode">系统编码</param>
        /// <param name="userId"></param>
        /// <param name="permissionScope"></param>
        /// <param name="permissionCode">权限编码</param>
        /// <param name="containChild"></param>
        /// <returns></returns>
        public string SetUserOrganizationScope(string systemCode, string userId, PermissionOrganizationScope permissionScope, string permissionCode = "Resource.AccessPermission", bool containChild = false)
        {
            var result = string.Empty;

            var permissionId = new BaseModuleManager().GetIdByCodeByCache(systemCode, permissionCode);

            if (!string.IsNullOrEmpty(permissionId))
            {
                var tableName = BaseOrganizationScopeEntity.CurrentTableName;
                if (!string.IsNullOrEmpty(systemCode))
                {
                    tableName = systemCode + "OrganizationScope";
                }

                var organizationScopeManager = new BaseOrganizationScopeManager(DbHelper, UserInfo, tableName);
                var parameters = new List <KeyValuePair <string, object> >
                {
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldResourceCategory, BaseUserEntity.CurrentTableName),
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldResourceId, userId),
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldPermissionId, permissionId)
                };
                result = organizationScopeManager.GetId(parameters);
                BaseOrganizationScopeEntity organizationScopeEntity = null;
                if (string.IsNullOrEmpty(result))
                {
                    organizationScopeEntity = new BaseOrganizationScopeEntity();
                }
                else
                {
                    organizationScopeEntity = organizationScopeManager.GetEntity(result);
                }
                organizationScopeEntity.AllData           = (permissionScope == PermissionOrganizationScope.AllData ? 1 : 0);
                organizationScopeEntity.Province          = (permissionScope == PermissionOrganizationScope.Province ? 1 : 0);
                organizationScopeEntity.City              = (permissionScope == PermissionOrganizationScope.City ? 1 : 0);
                organizationScopeEntity.District          = (permissionScope == PermissionOrganizationScope.District ? 1 : 0);
                organizationScopeEntity.UserCompany       = (permissionScope == PermissionOrganizationScope.UserCompany ? 1 : 0);
                organizationScopeEntity.UserSubCompany    = (permissionScope == PermissionOrganizationScope.UserSubCompany ? 1 : 0);
                organizationScopeEntity.UserDepartment    = (permissionScope == PermissionOrganizationScope.UserDepartment ? 1 : 0);
                organizationScopeEntity.UserSubDepartment = (permissionScope == PermissionOrganizationScope.UserSubDepartment ? 1 : 0);
                organizationScopeEntity.UserWorkgroup     = (permissionScope == PermissionOrganizationScope.UserWorkgroup ? 1 : 0);
                organizationScopeEntity.OnlyOwnData       = (permissionScope == PermissionOrganizationScope.OnlyOwnData ? 1 : 0);
                organizationScopeEntity.ByDetails         = (permissionScope == PermissionOrganizationScope.ByDetails ? 1 : 0);
                organizationScopeEntity.NotAllowed        = (permissionScope == PermissionOrganizationScope.NotAllowed ? 1 : 0);
                organizationScopeEntity.Enabled           = 1;
                organizationScopeEntity.Deleted           = 0;
                organizationScopeEntity.ContainChild      = containChild ? 1 : 0;
                organizationScopeEntity.PermissionId      = int.Parse(permissionId);
                organizationScopeEntity.ResourceCategory  = BaseUserEntity.CurrentTableName;
                organizationScopeEntity.ResourceId        = userId.ToString();
                if (string.IsNullOrEmpty(result))
                {
                    result = organizationScopeManager.Add(organizationScopeEntity);
                }
                else
                {
                    organizationScopeManager.Update(organizationScopeEntity);
                }
            }
            return(result);
        }
コード例 #2
0
        ////
        ////
        //// 授权范围管理部分
        ////
        ////

        /// <summary>
        /// 获取
        /// </summary>
        /// <param name="systemCode"></param>
        /// <param name="roleId"></param>
        /// <param name="permissionCode">权限编码</param>
        /// <returns></returns>
        public List <BaseOrganizationScopeEntity> GetRoleOrganizationScopes(string systemCode, string roleId, string permissionCode = "Resource.AccessPermission")
        {
            List <BaseOrganizationScopeEntity> result = null;
            var permissionId = new BaseModuleManager().GetIdByCodeByCache(systemCode, permissionCode);

            if (!string.IsNullOrEmpty(permissionId))
            {
                var organizationScopeManager = new BaseOrganizationScopeManager(DbHelper, UserInfo);
                var tableName  = UserInfo.SystemCode + "Role";
                var parameters = new List <KeyValuePair <string, object> >
                {
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldResourceCategory, tableName),
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldResourceId, roleId),
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldPermissionId, permissionId)
                };
                result = organizationScopeManager.GetList <BaseOrganizationScopeEntity>(parameters);
            }
            return(result);
        }
コード例 #3
0
        /*
         * public List<BaseOrganizationScopeEntity> GetUserOrganizationScopes(string userId, string permissionCode = "Resource.AccessPermission")
         * {
         *  List<BaseOrganizationScopeEntity> result = null;
         *  string result = this.GetPermissionIdByCode(permissionCode);
         *  if (!string.IsNullOrEmpty(result))
         *  {
         *      BaseOrganizationScopeManager organizationScopeManager = new BaseOrganizationScopeManager(this.DbHelper, this.UserInfo);
         *      List<KeyValuePair<string, object>> parameters = new List<KeyValuePair<string, object>>();
         *      parameters.Add(new KeyValuePair<string, object>(BaseOrganizationScopeEntity.FieldResourceCategory, BaseUserEntity.CurrentTableName));
         *      parameters.Add(new KeyValuePair<string, object>(BaseOrganizationScopeEntity.FieldResourceId, userId));
         *      parameters.Add(new KeyValuePair<string, object>(BaseOrganizationScopeEntity.FieldPermissionId, result));
         *      result = organizationScopeManager.GetList<BaseOrganizationScopeEntity>(parameters);
         *  }
         *  return result;
         * }
         */

        /// <summary>
        /// 获取用户组织范围
        /// </summary>
        /// <param name="systemCode">系统编码</param>
        /// <param name="userId"></param>
        /// <param name="containChild"></param>
        /// <param name="permissionCode">权限编码</param>
        /// <returns></returns>
        public PermissionOrganizationScope GetUserOrganizationScope(string systemCode, string userId, out bool containChild, string permissionCode = "Resource.AccessPermission")
        {
            containChild = false;
            var permissionScope = PermissionOrganizationScope.UserCompany;

            BaseOrganizationScopeEntity organizationScopeEntity = null;
            var permissionId = new BaseModuleManager().GetIdByCodeByCache(systemCode, permissionCode);

            if (!string.IsNullOrEmpty(permissionId))
            {
                var tableName = BaseOrganizationScopeEntity.CurrentTableName;
                if (!string.IsNullOrEmpty(systemCode))
                {
                    tableName = systemCode + "OrganizationScope";
                }

                var organizationScopeManager = new BaseOrganizationScopeManager(DbHelper, UserInfo, tableName);
                var parameters = new List <KeyValuePair <string, object> >
                {
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldResourceCategory, BaseUserEntity.CurrentTableName),
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldResourceId, userId),
                    new KeyValuePair <string, object>(BaseOrganizationScopeEntity.FieldPermissionId, permissionId)
                };
                var dt = organizationScopeManager.GetDataTable(parameters);
                if (dt != null && dt.Rows.Count > 0)
                {
                    organizationScopeEntity = BaseEntity.Create <BaseOrganizationScopeEntity>(dt);
                }
            }

            if (organizationScopeEntity != null)
            {
                if (organizationScopeEntity.ContainChild == 1)
                {
                    containChild = true;
                }
                if (organizationScopeEntity.AllData == 1)
                {
                    permissionScope = PermissionOrganizationScope.AllData;
                }
                if (organizationScopeEntity.Province == 1)
                {
                    permissionScope = PermissionOrganizationScope.Province;
                }
                if (organizationScopeEntity.City == 1)
                {
                    permissionScope = PermissionOrganizationScope.City;
                }
                if (organizationScopeEntity.District == 1)
                {
                    permissionScope = PermissionOrganizationScope.District;
                }
                if (organizationScopeEntity.ByDetails == 1)
                {
                    permissionScope = PermissionOrganizationScope.ByDetails;
                }
                if (organizationScopeEntity.NotAllowed == 1)
                {
                    permissionScope = PermissionOrganizationScope.NotAllowed;
                }
                if (organizationScopeEntity.OnlyOwnData == 1)
                {
                    permissionScope = PermissionOrganizationScope.OnlyOwnData;
                }
                if (organizationScopeEntity.UserCompany == 1)
                {
                    permissionScope = PermissionOrganizationScope.UserCompany;
                }
                if (organizationScopeEntity.UserSubCompany == 1)
                {
                    permissionScope = PermissionOrganizationScope.UserSubCompany;
                }
                if (organizationScopeEntity.UserDepartment == 1)
                {
                    permissionScope = PermissionOrganizationScope.UserDepartment;
                }
                if (organizationScopeEntity.UserSubDepartment == 1)
                {
                    permissionScope = PermissionOrganizationScope.UserSubDepartment;
                }
                if (organizationScopeEntity.UserWorkgroup == 1)
                {
                    permissionScope = PermissionOrganizationScope.UserWorkgroup;
                }
            }
            return(permissionScope);
        }