/// <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="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); }
/* * 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); }