/// <summary> /// 获取用户列表 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public DataTable GetDataTable(BaseUserInfo userInfo) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif DataTable dataTable = new DataTable(BaseUserEntity.TableName); using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); // 获取允许登录列表 dataTable = userManager.GetDataTable(); dataTable.TableName = BaseUserEntity.TableName; BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.UserService_GetDataTable, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(dataTable); }
/// <summary> /// 添加用户 /// </summary> /// <param name="dbHelper">数据库连接</param> /// <param name="userInfo">用户信息</param> /// <param name="userEntity">用户实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>主键</returns> public string AddUser(IDbHelper dbHelper, BaseUserInfo userInfo, BaseUserEntity userEntity, out string statusCode, out string statusMessage) { // 加强安全验证防止未授权匿名调用 #if (!DEBUG) BaseSystemInfo.IsAuthorized(userInfo); #endif string returnValue = string.Empty; BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); // 若是系统需要用加密的密码,这里需要加密密码。 if (BaseSystemInfo.ServerEncryptPassword) { userEntity.UserPassword = userManager.EncryptUserPassword(userEntity.UserPassword); // 安全通讯密码、交易密码也生成好 userEntity.CommunicationPassword = userManager.EncryptUserPassword(userEntity.CommunicationPassword); } returnValue = userManager.Add(userEntity, out statusCode); statusMessage = userManager.GetStateMessage(statusCode); // 自己不用给自己发提示信息,这个提示信息是为了提高工作效率的,还是需要审核通过的,否则垃圾信息太多了 if (userEntity.Enabled == 0 && statusCode.Equals(StatusCode.OKAdd.ToString())) { // 不是系统管理员添加 if (!userInfo.IsAdministrator) { // 给超级管理员群组发信息 BaseRoleManager roleManager = new BaseRoleManager(dbHelper, userInfo); string[] roleIds = roleManager.GetIds(new KeyValuePair <string, object>(BaseRoleEntity.FieldCode, "Administrators")); string[] userIds = userManager.GetIds(new KeyValuePair <string, object>(BaseUserEntity.FieldCode, "Administrator")); // 发送请求审核的信息 BaseMessageEntity messageEntity = new BaseMessageEntity(); messageEntity.FunctionCode = MessageFunction.WaitForAudit.ToString(); // Pcsky 2012.05.04 显示申请的用户名 messageEntity.Contents = userInfo.RealName + "(" + userInfo.IPAddress + ")" + AppMessage.UserService_Application + userEntity.UserName + AppMessage.UserService_Check; //messageEntity.Contents = userInfo.RealName + "(" + userInfo.IPAddress + ")" + AppMessage.UserService_Application + userEntity.RealName + AppMessage.UserService_Check; BaseMessageManager messageManager = new BaseMessageManager(dbHelper, userInfo); messageManager.BatchSend(userIds, null, roleIds, messageEntity, false); } } return(returnValue); }
/// <summary> /// 更新用户 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="userEntity">用户实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>影响行数</returns> public int UpdateUser(BaseUserInfo userInfo, BaseUserEntity userEntity, out string statusCode, out string statusMessage) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); // 调用方法,并且返回运行结果 returnValue = userManager.Update(userEntity, out statusCode); statusMessage = userManager.GetStateMessage(statusCode); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.UserService_UpdateUser, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 批量删除 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int BatchDelete(BaseUserInfo userInfo, string[] ids) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); returnValue = userManager.Delete(ids); // 用户已经被删除的员工的UserId设置为Null,说白了,是需要整理数据 userManager.CheckUserStaff(); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 获取用户的角色主键数组 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userId">员工主键</param> /// <returns>主键数组</returns> public string[] GetUserRoleIds(BaseUserInfo userInfo, string userId) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif string[] returnValue = null; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); returnValue = userManager.GetAllRoleIds(userId); // returnValue = userRoleManager.GetRoleIds(userId); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 批量设置默认角色 /// </summary> /// <param name="userInfo"></param> /// <param name="userIds"></param> /// <param name="roleId"></param> /// <returns>影响行数</returns> public int BatchSetDefaultRole(BaseUserInfo userInfo, string[] userIds, string roleId) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); returnValue = userManager.SetProperty(userIds, new KeyValuePair <string, object>(BaseUserEntity.FieldRoleId, roleId)); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
// 获得用户列表(按权限范围) #region protected void GetUserByPermissionScope(DropDownList ddlUser, string organizationId = null, bool insertBlank = false, string permissionItemCode = "Resource.ManagePermission") /// <summary> /// 获取用户列表 /// </summary> /// <param name="ddlUser">用户选项</param> /// <param name="organizationId">部门主键</param> /// <param name="insertBlank">插入空行</param> /// <param name="permissionItemCode">权限编码</param> protected void GetUserByPermissionScope(DropDownList ddlUser, string organizationId = null, bool insertBlank = false, string permissionItemCode = "Resource.ManagePermission") { ddlUser.Items.Clear(); var entityList = new List <BaseUserEntity>(); var manager = new BaseUserManager(UserInfo); if (string.IsNullOrEmpty(organizationId)) { if (UserInfo.IsAdministrator) { entityList = manager.GetList <BaseUserEntity>(); } else { var permissionService = new BasePermissionService(); entityList = permissionService.GetUserListByPermission(_userInfo, _userInfo.Id.ToString(), permissionItemCode); // 至少要把自己显示出来,否则难控制权限了 if (entityList.Count == 0) { entityList = manager.GetList <BaseUserEntity>(new string[] { UserInfo.Id.ToString() }); } } } else { entityList = manager.GetListByOrganizations(new string[] { organizationId }); } ddlUser.SelectedValue = null; if (entityList != null && entityList.Count > 0) { ddlUser.DataValueField = BaseUserEntity.FieldId; ddlUser.DataTextField = BaseUserEntity.FieldRealName; ddlUser.DataSource = entityList; ddlUser.DataBind(); } if (UserInfo.IsAdministrator || insertBlank) { ddlUser.Items.Insert(0, new ListItem()); } }
/// <summary> /// 验证用户数字签名密码 /// </summary> /// <param name="userInfo">用户</param> /// <param name="signedPassword">验证数字签名密码</param> /// <param name="ipAddress">IP地址</param> /// <param name="statusCode">返回状态码</param> /// <param name="statusMessage">返回状消息</param> /// <returns>是否正确</returns> public bool SignedPassword(BaseUserInfo userInfo, string signedPassword) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif bool returnValue = false; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); returnValue = userManager.SignedPassword(signedPassword); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.LogOnService_SignedPassword, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 检查在线状态 /// </summary> /// <param name="userInfo">用户</param> /// <param name="onLineState">用户在线状态</param> /// <returns>离线人数</returns> public int CheckOnLine(BaseUserInfo userInfo, int onLineState) { // 写入调试信息 #if (DEBUG) // int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper); // 设置为在线状态 userManager.OnLine(userInfo.Id, onLineState); returnValue = userManager.CheckOnLine(); } catch (Exception ex) { LogUtil.WriteException(ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) // BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
public EnterspeedPropertyService( IEnterspeedConfigurationService enterspeedConfigurationService, IEnterspeedIdentityService identityService, EnterspeedDateFormatter dateFormatter, IEnumerable <IEnterspeedFieldValueConverter> fieldValueConverters, IEnterspeedFieldConverter fieldConverter, BaseItemManager itemManager, BaseUserManager userManager, BaseAccessRightManager accessRightManager, BaseRolesInRolesManager rolesInRolesManager) { _enterspeedConfigurationService = enterspeedConfigurationService; _identityService = identityService; _dateFormatter = dateFormatter; _fieldValueConverters = fieldValueConverters; _fieldConverter = fieldConverter; _itemManager = itemManager; _userManager = userManager; _accessRightManager = accessRightManager; _rolesInRolesManager = rolesInRolesManager; }
public void StartPlayer() { Debug.Log("StartPlayer!!!"); // find the player's control script and hold it in playerScript playerScript1 = playerGO1.GetComponent <Player_SpaceShip_IP>(); mainPlayerDataManager1 = playerGO1.GetComponent <BasePlayerManager>().DataManager; // all ready to play, let's go! playerGO1.SendMessage("GameStart"); // now, if there *is* a player 2, let's tell it to get going if (totalPlayers > 1) { // find the player's control script and hold it in playerScript playerScript2 = playerGO2.GetComponent <Player_SpaceShip_IP>(); mainPlayerDataManager2 = playerGO2.GetComponent <BasePlayerManager>().DataManager; playerGO2.SendMessage("GameStart"); } }
/// <summary> /// 用户名是否重复 /// </summary> /// <param name="userInfo">用户</param> /// <param name="parameters">字段名,字段值</param> /// <returns>已存在</returns> public bool Exists(BaseUserInfo userInfo, List <KeyValuePair <string, object> > parameters) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif bool returnValue = false; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper); returnValue = userManager.Exists(parameters); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 删除用户的审核步骤 /// </summary> /// <param name="userId">用户主键</param> /// <returns>影响行数</returns> public int DeleteAuditStepByUser(string userId) { int returnValue = 0; // 1: 若还有当前审核中的记录,不能被删除掉 BaseWorkFlowCurrentManager manager = new BaseWorkFlowCurrentManager(this.DbHelper, this.UserInfo); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(3); parameters.Add(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldAuditUserId, userId)); parameters.Add(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldEnabled, 1)); parameters.Add(new KeyValuePair <string, object>(BaseWorkFlowCurrentEntity.FieldDeletionStateCode, 0)); if (!manager.Exists(parameters)) { // 2: 删除用户的审核步骤。 returnValue = this.SetProperty(new KeyValuePair <string, object>(BaseWorkFlowStepEntity.FieldAuditUserId, userId), new KeyValuePair <string, object>(BaseWorkFlowStepEntity.FieldDeletionStateCode, 1)); // 3: 同时把用户设置为无效。 if (returnValue > 0) { BaseUserManager userManager = new BaseUserManager(this.UserInfo); userManager.SetProperty(new KeyValuePair <string, object>(BaseUserEntity.FieldId, userId), new KeyValuePair <string, object>(BaseUserEntity.FieldEnabled, 0)); } } return(returnValue); }
/// <summary> /// 用户现在 /// </summary> /// <param name="userInfo">用户</param> /// <param name="onLineState">用户在线状态</param> public void OnLine(BaseUserInfo userInfo, int onLineState = 1) { // 写入调试信息 #if (DEBUG) // int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); // BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.LogOnService_OnLine, MethodBase.GetCurrentMethod()); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); userManager.OnLine(userInfo.Id, onLineState); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) // BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart, ConsoleColor.Green); #endif }
/// <summary> /// 撤销用户权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userName">用户名</param> /// <param name="permissionItemCode">权限编号</param> /// <returns>主键</returns> public int RevokeUserPermission(BaseUserInfo userInfo, string userName, string permissionItemCode) { // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); string userId = userManager.GetId(new KeyValuePair <string, object>(BaseUserEntity.FieldUserName, userName)); BasePermissionItemManager permissionItemManager = new BasePermissionItemManager(dbHelper, userInfo); string permissionItemId = permissionItemManager.GetId(new KeyValuePair <string, object>(BasePermissionItemEntity.FieldCode, permissionItemCode)); if (!String.IsNullOrEmpty(userId) && !String.IsNullOrEmpty(permissionItemId)) { BaseUserPermissionManager userPermissionManager = new BaseUserPermissionManager(dbHelper, userInfo); returnValue = userPermissionManager.Revoke(userId, permissionItemId); } } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } return(returnValue); }
/// <summary> /// 转发给别人看 /// </summary> /// <param name="contactId">内部联络单主键</param> /// <param name="receiverIds">送给</param> /// <returns>影响行数</returns> public int AddReceivers(string contactId, string[] receiverIds) { int returnValue = 0; BaseUserManager userManager = new BaseUserManager(DbHelper, UserInfo); BaseUserEntity useEntity = null; for (int i = 0; i < receiverIds.Length; i++) { if (!this.Exists(new KeyValuePair <string, object>(BaseContactDetailsEntity.FieldContactId, contactId) , new KeyValuePair <string, object>(BaseContactDetailsEntity.FieldReceiverId, receiverIds[i]))) { useEntity = userManager.GetEntity(receiverIds[i]); // 是有效的用户,而且是未必删除的用户才发邮件 if (useEntity.Enabled == 1 && useEntity.DeletionStateCode == 0) { this.AddReceiver(useEntity, contactId, receiverIds[i]); returnValue++; } } } // 这里需要重新计算发送给了几个人,几个人已经阅读的功能 this.SetReadState(contactId); return(returnValue); }
public override void Init() { base.Init(); // do god mode, if needed) if (!godMode) { MakeVulnerable(); } else { MakeInvulnerable(); } // start out with no control from the player canControl = false; // get a ref to the weapon controller weaponControl = myGO.GetComponent <Standard_SlotWeaponController>(); // if a player manager is not set in the editor, let's try to find one if (myPlayerManager == null) { myPlayerManager = myGO.GetComponent <BasePlayerManager>(); } // set up the data for our player myDataManager = myPlayerManager.DataManager; myDataManager.SetName("Player"); myDataManager.SetHealth(3); isFinished = false; // get a ref to the player manager GameController_LBS.Instance.UpdateLivesP1(myDataManager.GetHealth()); }
/// <summary> /// 服务器端检查在线状态 /// </summary> /// <returns>离线人数</returns> public int ServerCheckOnLine() { int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper); returnValue = userManager.CheckOnLine(); } catch (Exception ex) { LogUtil.WriteException(ex); throw ex; } finally { dbHelper.Close(); } } return(returnValue); }
/// <summary> /// 批量打删除标志 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int SetDeleted(BaseUserInfo userInfo, string[] ids) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseOrganizeManager organizeManager = new BaseOrganizeManager(dbHelper, userInfo); for (int i = 0; i < ids.Length; i++) { // 设置部门为删除状态 returnValue += organizeManager.SetDeleted(ids[i]); // 相应的用户也需要处理 BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldCompanyId, null)); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldCompanyName, null)); userManager.SetProperty(new KeyValuePair <string, object>(BaseUserEntity.FieldCompanyId, ids[i]), parameters); parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldSubCompanyId, null)); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldSubCompanyName, null)); userManager.SetProperty(new KeyValuePair <string, object>(BaseUserEntity.FieldSubCompanyId, ids[i]), parameters); parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldDepartmentId, null)); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldDepartmentName, null)); userManager.SetProperty(new KeyValuePair <string, object>(BaseUserEntity.FieldDepartmentId, ids[i]), parameters); parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldWorkgroupId, null)); parameters.Add(new KeyValuePair <string, object>(BaseUserEntity.FieldWorkgroupName, null)); userManager.SetProperty(new KeyValuePair <string, object>(BaseUserEntity.FieldWorkgroupId, ids[i]), parameters); // 相应的员工也需要处理 BaseStaffManager staffManager = new BaseStaffManager(dbHelper, userInfo); staffManager.SetProperty(new KeyValuePair <string, object>(BaseStaffEntity.FieldCompanyId, ids[i]), new KeyValuePair <string, object>(BaseStaffEntity.FieldCompanyId, null)); staffManager.SetProperty(new KeyValuePair <string, object>(BaseStaffEntity.FieldSubCompanyId, ids[i]), new KeyValuePair <string, object>(BaseStaffEntity.FieldSubCompanyId, null)); staffManager.SetProperty(new KeyValuePair <string, object>(BaseStaffEntity.FieldDepartmentId, ids[i]), new KeyValuePair <string, object>(BaseStaffEntity.FieldDepartmentId, null)); staffManager.SetProperty(new KeyValuePair <string, object>(BaseStaffEntity.FieldWorkgroupId, ids[i]), new KeyValuePair <string, object>(BaseStaffEntity.FieldWorkgroupId, null)); } BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.OrganizeService_SetDeleted, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
// 用户是否在某个部门(按编号,按名称的,按简称的) #region public bool IsUserInOrganization(string organizationName) /// <summary> /// 用户是否在某个组织架构里的判断 /// </summary> /// <param name="organizationName">角色编号</param> /// <returns>是否在某个角色里</returns> public bool IsUserInOrganization(string organizationName) { var userManager = new BaseUserManager(UserInfo); return(userManager.IsInOrganization(UserInfo.Id.ToString(), organizationName)); }
/// <summary> /// 获取等审核信息 /// </summary> /// <param name="userId">用户主键</param> /// <param name="categoryCode">分类代码</param> /// <param name="searchValue">查询字符串</param> /// <param name="showAuditReject">显示退回的</param> /// <returns>数据表</returns> public DataTable GetWaitForAudit(string userId = null, string categoryCode = null, string categorybillFullName = null, string searchValue = null, bool showAuditReject = true) { if (string.IsNullOrEmpty(userId)) { userId = this.UserInfo.Id; } string sqlQuery = " SELECT * " + " FROM " + BaseWorkFlowCurrentEntity.TableName // 未被删除的,有效的数据,还没能审核结束的 + " WHERE (" + BaseWorkFlowCurrentEntity.FieldDeletionStateCode + " = 0) " // Enabled 0 表示,审核还没结束 + " AND (" + BaseWorkFlowCurrentEntity.FieldEnabled + " = 0) "; if (!showAuditReject) { sqlQuery += " AND (" + BaseWorkFlowCurrentEntity.FieldAuditStatus + " != 'AuditReject') "; } if (!string.IsNullOrEmpty(userId)) { // 待审核的工作流(指向用户的) switch (BaseSystemInfo.UserCenterDbType) { case DbTypes.Access: sqlQuery += " AND (" + BaseWorkFlowCurrentEntity.FieldToUserId + "= '" + userId + "' "; break; default: sqlQuery += " AND (" + BaseWorkFlowCurrentEntity.FieldToUserId + "=" + userId + " "; break; } //(指向角色的) BaseUserManager userManager = new BaseUserManager(this.UserInfo); string[] roleIds = userManager.GetAllRoleIds(userId); if (roleIds != null && roleIds.Length > 0) { sqlQuery += " OR " + BaseWorkFlowCurrentEntity.FieldToRoleId + " IN (" + StringUtil.ArrayToList(roleIds) + ")"; } //(指向部门的) string[] organizeIds = userManager.GetAllOrganizeIds(userId); if (organizeIds != null && organizeIds.Length > 0) { sqlQuery += " OR (" + BaseWorkFlowCurrentEntity.FieldToUserId + " IS NULL AND + " + BaseWorkFlowCurrentEntity.FieldToDepartmentId + " IN (" + StringUtil.ArrayToList(organizeIds) + "))"; } sqlQuery += " ) "; } if (!string.IsNullOrEmpty(categoryCode)) { BaseWorkFlowBillTemplateManager templateManager = new BaseWorkFlowBillTemplateManager(this.DbHelper, this.UserInfo); DataTable dataTable = templateManager.Search(string.Empty, categoryCode, string.Empty, null, false); string categoryCodes = BaseBusinessLogic.FieldToList(dataTable, BaseWorkFlowBillTemplateEntity.FieldCode); if (!string.IsNullOrEmpty(categoryCodes)) { sqlQuery += " AND (BaseWorkFlowCurrent.CategoryCode IN (" + categoryCodes + ")) "; } } if (!string.IsNullOrEmpty(categorybillFullName)) { sqlQuery += " AND (" + BaseWorkFlowCurrentEntity.TableName + "." + BaseWorkFlowCurrentEntity.FieldCategoryFullName + " ='" + categorybillFullName + "') "; } List <IDbDataParameter> dbParameters = new List <IDbDataParameter>(); if (!String.IsNullOrEmpty(searchValue)) { searchValue = searchValue.Trim(); sqlQuery += " AND (" + BaseWorkFlowCurrentEntity.FieldObjectFullName + " LIKE " + DbHelper.GetParameter(BaseWorkFlowCurrentEntity.FieldObjectFullName); sqlQuery += " OR " + BaseWorkFlowCurrentEntity.FieldAuditUserRealName + " LIKE " + DbHelper.GetParameter(BaseWorkFlowCurrentEntity.FieldAuditUserRealName); sqlQuery += " OR " + BaseWorkFlowCurrentEntity.FieldAuditIdea + " LIKE " + DbHelper.GetParameter(BaseWorkFlowCurrentEntity.FieldAuditIdea); sqlQuery += " OR " + BaseWorkFlowCurrentEntity.FieldAuditStatusName + " LIKE " + DbHelper.GetParameter(BaseWorkFlowCurrentEntity.FieldAuditStatusName); sqlQuery += " OR " + BaseWorkFlowCurrentEntity.FieldToDepartmentName + " LIKE " + DbHelper.GetParameter(BaseWorkFlowCurrentEntity.FieldToDepartmentName); sqlQuery += " OR " + BaseWorkFlowCurrentEntity.FieldToUserRealName + " LIKE " + DbHelper.GetParameter(BaseWorkFlowCurrentEntity.FieldToUserRealName) + ")"; if (searchValue.IndexOf("%") < 0) { searchValue = "%" + searchValue + "%"; } dbParameters.Add(DbHelper.MakeParameter(BaseWorkFlowCurrentEntity.FieldObjectFullName, searchValue)); dbParameters.Add(DbHelper.MakeParameter(BaseWorkFlowCurrentEntity.FieldAuditUserRealName, searchValue)); dbParameters.Add(DbHelper.MakeParameter(BaseWorkFlowCurrentEntity.FieldAuditIdea, searchValue)); dbParameters.Add(DbHelper.MakeParameter(BaseWorkFlowCurrentEntity.FieldAuditStatusName, searchValue)); dbParameters.Add(DbHelper.MakeParameter(BaseWorkFlowCurrentEntity.FieldToDepartmentName, searchValue)); dbParameters.Add(DbHelper.MakeParameter(BaseWorkFlowCurrentEntity.FieldToUserRealName, searchValue)); } // 排序字段 sqlQuery += " ORDER BY " + BaseWorkFlowCurrentEntity.FieldSendDate; return(DbHelper.Fill(sqlQuery, dbParameters.ToArray())); }
/// <summary> /// 获得某个用户的所有权限列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userId">用户主键</param> /// <returns>数据表</returns> public DataTable GetPermissionDTByUser(BaseUserInfo userInfo, string userId) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif DataTable dataTable = new DataTable(BasePermissionItemEntity.TableName); using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); string tableName = BasePermissionItemEntity.TableName; if (!string.IsNullOrEmpty(BaseSystemInfo.SystemCode)) { tableName = BaseSystemInfo.SystemCode + "PermissionItem"; } // 是否超级管理员 BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); BasePermissionItemManager permissionItemManager = new BasePermissionItemManager(dbHelper, userInfo, tableName); if (userManager.IsAdministrator(userId)) { dataTable = permissionItemManager.GetDataTable(); } else { tableName = BasePermissionEntity.TableName; if (!string.IsNullOrEmpty(BaseSystemInfo.SystemCode)) { tableName = BaseSystemInfo.SystemCode + "Permission"; } BasePermissionManager permissionManager = new BasePermissionManager(dbHelper, userInfo, tableName); string[] ids = permissionManager.GetPermissionIdsByUser(userId); // 若是以前赋予的权限,后来有些权限设置为无效了,那就不应该再获取哪些无效的权限才对。 // bug修正:没有赋值DataTable,导致返回值空 dataTable = permissionItemManager.GetDataTable( new KeyValuePair <string, object>(BasePermissionItemEntity.FieldId, ids) , new KeyValuePair <string, object>(BasePermissionItemEntity.FieldEnabled, 1) , new KeyValuePair <string, object>(BasePermissionItemEntity.FieldDeletionStateCode, 0)); } dataTable.TableName = tableName; BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.PermissionService_GetPermissionDTByUser, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(dataTable); }
/// <summary> /// 获取在线用户列表 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public DataTable GetOnLineState(BaseUserInfo userInfo) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 是否需要获取用户状态 bool getOnLine = false; // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif lock (locker) { using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); // 设置为在线状态 userManager.OnLine(userInfo.Id); if (MessageService.LaseOnLineStateCheck == DateTime.MinValue) { getOnLine = true; } else { // 2008.01.23 JiRiGaLa 修正错误 TimeSpan timeSpan = DateTime.Now - MessageService.LaseOnLineStateCheck; if ((timeSpan.Minutes * 60 + timeSpan.Seconds) >= BaseSystemInfo.OnLineCheck) { getOnLine = true; } } if (OnLineStateDT == null || getOnLine) { // 检查用户在线状态(服务器专用) userManager.CheckOnLine(); // 获取在线状态列表 OnLineStateDT = userManager.GetOnLineStateDT(); OnLineStateDT.TableName = BaseUserEntity.TableName; MessageService.LaseOnLineStateCheck = DateTime.Now; } // BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } } // 写入调试信息 #if (DEBUG) if (getOnLine) { BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); } #endif return(OnLineStateDT); }
/// <summary> /// 按角色获取用户列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="roleId">角色主键</param> /// <returns>数据表</returns> public DataTable GetUserDTByRole(BaseUserInfo userInfo, string roleId) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif DataTable dataTable = new DataTable(BaseUserEntity.TableName); using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo); string sqlQuery = " SELECT " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldId + "," + BaseUserEntity.TableName + "." + BaseUserEntity.FieldRealName + "," + BaseUserEntity.TableName + "." + BaseUserEntity.FieldUserOnLine + " FROM " + BaseUserEntity.TableName; sqlQuery += " WHERE (" + BaseUserEntity.TableName + "." + BaseUserEntity.FieldDeletionStateCode + " = 0 " + " AND " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldEnabled + " = 1 " + " AND " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldIsVisible + " = 1 ) "; if (!String.IsNullOrEmpty(roleId)) { // 从用户默认橘色 sqlQuery += " AND (" + BaseUserEntity.TableName + "." + BaseUserEntity.FieldRoleId + " = '" + roleId + "') "; // 从兼职表读取用户 sqlQuery += " OR " + BaseUserEntity.FieldId + " IN (" + " SELECT " + BaseUserRoleEntity.FieldUserId + " FROM " + BaseUserRoleEntity.TableName + " WHERE " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldDeletionStateCode + " = 0 " + " AND " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldEnabled + " = 1 " + " AND " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldRoleId + " = '" + roleId + "') "; } sqlQuery += " ORDER BY " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldSortCode; dataTable = userManager.Fill(sqlQuery); dataTable.TableName = BaseUserEntity.TableName; BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.MessageService_GetUserDTByDepartment, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(dataTable); }
/// <summary> /// 下个流程发送给谁 /// </summary> /// <param name="id">当前主键</param> /// <returns>影响行数</returns> private int StepAuditTransmit(string currentId, string workFlowCategory, string sendToId, string auditIdea) { BaseWorkFlowCurrentEntity workFlowCurrentEntity = this.GetEntity(currentId); // 1.记录当前的审核时间、审核人信息 workFlowCurrentEntity.ToDepartmentId = this.UserInfo.DepartmentId; workFlowCurrentEntity.ToDepartmentName = this.UserInfo.DepartmentName; workFlowCurrentEntity.ToUserId = this.UserInfo.Id; workFlowCurrentEntity.ToUserRealName = this.UserInfo.RealName; workFlowCurrentEntity.AuditStatus = AuditStatus.Transmit.ToString(); workFlowCurrentEntity.AuditStatusName = AuditStatus.Transmit.ToDescription(); // 2.记录审核日志 this.AddHistory(workFlowCurrentEntity); // 3.上一个审核结束了,新的审核又开始了,更新待审核情况 workFlowCurrentEntity.AuditUserId = this.UserInfo.Id; workFlowCurrentEntity.AuditUserRealName = this.UserInfo.RealName; workFlowCurrentEntity.AuditDate = DateTime.Now; workFlowCurrentEntity.AuditIdea = auditIdea; // 是否提交给部门审批 if (workFlowCategory.Equals("ByOrganize")) { BaseOrganizeManager organizeManager = new BaseOrganizeManager(UserInfo); BaseOrganizeEntity organizeEntity = organizeManager.GetEntity(sendToId); // 设置审批部门主键 workFlowCurrentEntity.ToDepartmentId = sendToId; // 设置审批部门名称 workFlowCurrentEntity.ToDepartmentName = organizeEntity.FullName; } // 是否提交给角色审批 if (workFlowCategory.Equals("ByRole")) { BaseRoleManager roleManger = new BaseRoleManager(this.UserInfo); BaseRoleEntity roleEntity = roleManger.GetEntity(sendToId); // 设置审批角色主键 workFlowCurrentEntity.ToRoleId = sendToId; // 设置审批角色名称 workFlowCurrentEntity.ToRoleRealName = roleEntity.RealName; } // 是否提交给用户审批 if (workFlowCategory.Equals("ByUser")) { BaseUserManager userManager = new BaseUserManager(UserInfo); BaseUserEntity userEntity = userManager.GetEntity(sendToId); // 设置审批用户主键 workFlowCurrentEntity.ToUserId = sendToId; // 设置审批用户名称 workFlowCurrentEntity.ToUserRealName = userEntity.RealName; // TODO 用户的部门信息需要处理 if (!string.IsNullOrEmpty(userEntity.DepartmentId)) { BaseOrganizeManager organizeManager = new BaseOrganizeManager(UserInfo); BaseOrganizeEntity organizeEntity = organizeManager.GetEntity(userEntity.DepartmentId); workFlowCurrentEntity.ToDepartmentId = userEntity.DepartmentId; workFlowCurrentEntity.ToDepartmentName = organizeEntity.FullName; } } workFlowCurrentEntity.AuditStatus = AuditStatus.WaitForAudit.ToString(); workFlowCurrentEntity.AuditStatusName = AuditStatus.WaitForAudit.ToDescription(); // 当前审核人的信息写入当前工作流 workFlowCurrentEntity.Enabled = 0; workFlowCurrentEntity.DeletionStateCode = 0; return(this.UpdateEntity(workFlowCurrentEntity)); }
public override void Init() { Debug.Log("CarController_MVD Init called."); // cache the usual suspects myBody = GetComponent <Rigidbody>(); myGO = gameObject; myTransform = transform; // allow respawning from the start canRespawn = true; // save our accelMax value for later, incase we need to change it to // do AI catch up originalAccelMax = accelMax; // add default keyboard input if we don't already have one if (default_input == null) { default_input = myGO.AddComponent <Keyboard_Input>(); } // cache a reference to the player controller myPlayerController = myGO.GetComponent <BasePlayerManager>(); // call base class init myPlayerController.Init(); // with this simple vehicle code, we set the center of mass low to try to keep the car from toppling over myBody.centerOfMass = new Vector3(0, -3.5f, 0); // see if we can find an engine sound source, if we need to if (engineSoundSource == null) { engineSoundSource = myGO.GetComponent <AudioSource>(); } AddRaceController(); // reset our lap counter raceControl.ResetLapCounter(); // get a ref to the weapon controller weaponControl = myGO.GetComponent <Standard_SlotWeaponController>(); // if a player manager is not set in the editor, let's try to find one if (myPlayerManager == null) { myPlayerManager = myGO.GetComponent <BasePlayerManager>(); } // cache ref to data manager myDataManager = myPlayerManager.DataManager; // set default data myDataManager.SetName("Player"); myDataManager.SetHealth(startHealthAmount); if (isAIControlled) { // set our name to an AI player myDataManager.SetName("AIPlayer"); // set up AI InitAI(); } //GameController_MVD.Instance.UpdateWrongWay(false); }
/// <summary> /// 用户是否拥有以指定关键字开始的角色编码 /// </summary> /// <param name="searchKey">关键字</param> /// <returns>是否拥有指定关键字的角色</returns> public bool IsUserHasRoleStartWith(string searchKey) { var userManager = new BaseUserManager(UserInfo); return(userManager.IsHasRoleCodeStartWith(UserInfo.Id.ToString(), searchKey)); }
public string[] GetPermissionIdsByUser(string userId) { string tableName = BaseUserRoleEntity.TableName; if (!string.IsNullOrEmpty(BaseSystemInfo.SystemCode)) { tableName = BaseSystemInfo.SystemCode + "UserRole"; } string sqlQuery = // 用户的操作权限 " SELECT " + BasePermissionEntity.FieldPermissionItemId + " FROM " + this.CurrentTableName + " WHERE (" + BasePermissionEntity.FieldResourceCategory + " = '" + BaseUserEntity.TableName + "') " + " AND (" + BasePermissionEntity.FieldEnabled + " = 1) " + " AND (" + BasePermissionEntity.FieldResourceId + " = '" + userId + "')" + " UNION " // 角色的操作权限 + " SELECT " + BasePermissionEntity.FieldPermissionItemId + " FROM " + this.CurrentTableName + " WHERE " + "(" + BasePermissionEntity.FieldResourceCategory + " = '" + BaseRoleEntity.TableName + "') " + " AND (" + BasePermissionEntity.FieldEnabled + " = 1) " + " AND (" + BasePermissionEntity.FieldResourceId + " IN ( " + " SELECT " + BaseUserRoleEntity.FieldRoleId + " FROM " + tableName + " WHERE " + BaseUserRoleEntity.FieldUserId + " = '" + userId + "' " + " AND " + BaseUserRoleEntity.FieldEnabled + " = 1" + " UNION " + " SELECT " + BaseUserEntity.FieldRoleId + " FROM " + BaseUserEntity.TableName + " WHERE " + BaseUserEntity.FieldId + " = '" + userId + "'" + ")) "; DataTable dataTable = DbHelper.Fill(sqlQuery); string[] permissionItemIds = BaseBusinessLogic.FieldToArray(dataTable, BasePermissionEntity.FieldPermissionItemId); // 按部门获取权限项 if (BaseSystemInfo.UseOrganizePermission) { sqlQuery = string.Empty; BaseUserEntity userEntity = new BaseUserManager(this.DbHelper).GetEntity(userId); sqlQuery = " SELECT " + BasePermissionEntity.FieldPermissionItemId + " FROM " + this.CurrentTableName + " WHERE (" + this.CurrentTableName + ".ResourceCategory = '" + BaseOrganizeEntity.TableName + "') " + " AND (ResourceId = '" + userEntity.CompanyId + "' OR " + " ResourceId = '" + userEntity.DepartmentId + "' OR " + " ResourceId = '" + userEntity.SubCompanyId + "' OR" + " ResourceId = '" + userEntity.WorkgroupId + "') " + " AND (Enabled = 1) " + " AND (DeletionStateCode = 0)"; dataTable = DbHelper.Fill(sqlQuery); string[] permissionItemIdsByOrganize = BaseBusinessLogic.FieldToArray(dataTable, BasePermissionEntity.FieldPermissionItemId); permissionItemIds = StringUtil.Concat(permissionItemIds, permissionItemIdsByOrganize); } return(permissionItemIds); }
// // ResourcePermission 权限判断 // #region public bool CheckPermissionByUser(string userId, string permissionItemCode, string permissionItemName = null) 是否有相应的权限 /// <summary> /// 是否有相应的权限 /// </summary> /// <param name="userId">用户主键</param> /// <param name="permissionItemCode">权限编号</param> /// <param name="permissionItemName">权限名称</param> /// <returns>是否有权限</returns> public bool CheckPermissionByUser(string userId, string permissionItemCode, string permissionItemName = null) { // 若不存在就需要自动能增加一个操作权限项 string tableName = BasePermissionItemEntity.TableName; if (!string.IsNullOrEmpty(BaseSystemInfo.SystemCode)) { tableName = BaseSystemInfo.SystemCode + "PermissionItem"; } BasePermissionItemManager permissionItemManager = new BasePermissionItemManager(DbHelper, UserInfo, tableName); string permissionItemId = permissionItemManager.GetIdByAdd(permissionItemCode, permissionItemName); BasePermissionItemEntity permissionItemEntity = permissionItemManager.GetEntity(permissionItemId); // 先判断用户类别 if (UserInfo.IsAdministrator) { return(true); } // 没有找到相应的权限 if (String.IsNullOrEmpty(permissionItemId)) { return(false); } // 这里需要判断,是系统权限? bool returnValue = false; BaseUserManager userManager = new BaseUserManager(this.DbHelper, this.UserInfo); if (!string.IsNullOrEmpty(permissionItemEntity.CategoryCode) && permissionItemEntity.CategoryCode.Equals("System")) { // 用户管理员 returnValue = userManager.IsInRoleByCode(userId, "UserAdmin"); if (returnValue) { return(returnValue); } } // 这里需要判断,是业务权限? if (!string.IsNullOrEmpty(permissionItemEntity.CategoryCode) && permissionItemEntity.CategoryCode.Equals("Application")) { returnValue = userManager.IsInRoleByCode(userId, "Admin"); if (returnValue) { return(returnValue); } } // 判断用户权限 if (this.CheckUserPermission(userId, permissionItemId)) { return(true); } // 判断用户角色权限 if (this.CheckUserRolePermission(userId, permissionItemId)) { return(true); } // 判断用户组织机构权限,这里有开关是为了提高性能用的, // 下面的函数接着还可以提高性能,可以进行一次判断就可以了,其实不用执行4次判断,浪费I/O,浪费性能。 if (BaseSystemInfo.UseOrganizePermission) { if (this.CheckUserOrganizePermission(userId, permissionItemId, this.UserInfo.WorkgroupId)) { return(true); } else if (this.CheckUserOrganizePermission(userId, permissionItemId, this.UserInfo.DepartmentId)) { return(true); } else if (this.CheckUserOrganizePermission(userId, permissionItemId, this.UserInfo.SubCompanyId)) { return(true); } else if (this.CheckUserOrganizePermission(userId, permissionItemId, this.UserInfo.CompanyId)) { return(true); } } return(false); }
public override void Init() { Debug.Log("CarController_TB Init called."); // cache the usual suspects myBody = GetComponent <Rigidbody>(); myGO = gameObject; myTransform = transform; // allow respawning from the start canRespawn = true; // save our accelMax value for later, incase we need to change it to // do AI catch up originalAccelMax = accelMax; // add default keyboard input if we don't already have one default_input = myGO.GetComponent <Keyboard_Input>(); if (default_input == null) { default_input = myGO.AddComponent <Keyboard_Input>(); } // cache a reference to the player controller myPlayerController = myGO.GetComponent <BasePlayerManager>(); // call base class init myPlayerController.Init(); // with this simple vehicle code, we set the center of mass low to try to keep the car from toppling over myBody.centerOfMass = new Vector3(0, -6.5f, 0); // see if we can find an engine sound source, if we need to if (engineSoundSource == null) { engineSoundSource = myGO.GetComponent <AudioSource>(); } AddBattleController(); // get a ref to the weapon controller weaponControl = myGO.GetComponent <BaseWeaponController>(); // if a player manager is not set in the editor, let's try to find one if (myPlayerManager == null) { myPlayerManager = myGO.GetComponent <BasePlayerManager>(); } // cache ref to data manager myDataManager = myPlayerManager.DataManager; // set default data myDataManager.SetName("Player"); myDataManager.SetHealth(startHealthAmount); if (isAIControlled) { // set our name to an AI player myDataManager.SetName("AIPlayer"); // set up AI InitAI(); } isGameRunning = true; // store respawn point respawnPoint = myTransform.position; respawnRotation = myTransform.eulerAngles; MakeVulnerable(); // grab volume from sound controller for our engine sound GetComponent <AudioSource>().volume = BaseSoundController.Instance.volume; }