/// <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); }
/// <summary> /// 设置角色某个权限的组织机构范围 /// </summary> /// <param name="userInfo">用户</param> /// <param name="roleId">角色主键</param> /// <param name="permissionOrganizationScope">组织机构范围</param> /// <param name="permissionCode">权限编号</param> /// <returns>影响的行数</returns> public string SetRoleOrganizationScope(BaseUserInfo userInfo, string roleId, PermissionOrganizationScope permissionOrganizationScope, string permissionCode) { var result = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { var roleOrganizationScopeManager = new BaseRoleScopeManager(dbHelper, userInfo); result = roleOrganizationScopeManager.SetRoleOrganizationScope(userInfo.SystemCode, roleId, permissionOrganizationScope, permissionCode, false); }); return(result); }