public int EliminateRoleUser(string roleId) { var returnValue = 0; var userManager = new PiUserManager(this.DBProvider, this.UserInfo); returnValue = userManager.SetProperty(PiUserTable.FieldRoleId, roleId, PiUserTable.FieldRoleId, null); returnValue += this.Delete(PiUserRoleTable.FieldRoleId, roleId); return(returnValue); }
public int ClearUserRole(string userId) { var returnValue = 0; var userManager = new PiUserManager(this.DBProvider, this.UserInfo); returnValue += userManager.SetProperty(PiUserTable.FieldId, userId, PiUserTable.FieldRoleId, null); returnValue += this.Delete(PiUserRoleTable.FieldUserId, userId); return(returnValue); }
/// <summary> /// 批量设置默认角色 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userIds">用户主键数组</param> /// <param name="roleId">默认角色主键</param> /// <returns>影响行数</returns> public int BatchSetDefaultRole(UserInfo userInfo, string[] userIds, string roleId) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_BatchSetDefaultRole); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); returnValue = userManager.SetProperty(userIds, PiUserTable.FieldRoleId, roleId); }); return(returnValue); }
public int Update(PiOrganizeEntity organizeEntity, out string statusCode) { int returnValue = 0; string[] names = { PiOrganizeTable.FieldParentId, PiOrganizeTable.FieldFullName, PiOrganizeTable.FieldDeleteMark }; Object[] values = { organizeEntity.ParentId, organizeEntity.FullName, 0 }; if (this.Exists(names, values, organizeEntity.Id)) { // 名称已重复 statusCode = StatusCode.ErrorNameExist.ToString(); } else { // 检查编号是否重复 names = new string[] { PiOrganizeTable.FieldCode, PiOrganizeTable.FieldDeleteMark }; values = new object[] { organizeEntity.Code, 0 }; if (organizeEntity.Code.Length > 0 && this.Exists(names, values, organizeEntity.Id)) { // 编号已重复 statusCode = StatusCode.ErrorCodeExist.ToString(); } else { // 1:更新部门的信息 returnValue = this.UpdateEntity(organizeEntity); // 2:更新组织机构时,同步更新用户表的公司、分公司、部门、子部门、工作组 var userManager = new PiUserManager(this.DBProvider, this.UserInfo); userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldCompanyId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldCompanyName, organizeEntity.FullName)); userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyName, organizeEntity.FullName)); userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldDepartmentId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldDepartmentName, organizeEntity.FullName)); userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentName, organizeEntity.FullName)); userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupId, organizeEntity.Id), new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupName, organizeEntity.FullName)); statusCode = returnValue == 1 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorChanged.ToString(); } } return(returnValue); }
public int RemoveFormRole(string[] userIds, string roleId) { var returnValue = 0; var userManager = new PiUserManager(this.DBProvider, this.UserInfo); for (var i = 0; i < userIds.Length; i++) { // 删除用户角色 returnValue += this.RemoveFormRole(userIds[i], roleId); // 如果该角色是用户默认角色,将用户默认角色置空 userManager.SetProperty(PiUserTable.FieldId, userIds[i], PiUserTable.FieldRoleId, roleId, PiUserTable.FieldRoleId, null); } return(returnValue); }
/// <summary> /// 设置用户审核状态 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <param name="auditStates">审核状态</param> /// <returns>影响行数</returns> public int SetUserAuditStates(UserInfo userInfo, string[] ids, AuditStatus auditStates) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_SetUserAuditStates); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); returnValue = userManager.SetProperty(ids, PiUserTable.FieldAuditStatus, auditStates.ToString()); // 被审核通过 if (auditStates == AuditStatus.AuditPass) { returnValue = userManager.SetProperty(ids, PiUserTable.FieldEnabled, 1); // returnValue = userManager.SetProperty(ids, BaseUserEntity.FieldAuditStatus, StatusCode.UserIsActivate.ToString()); } // 被退回 if (auditStates == AuditStatus.AuditReject) { returnValue = userManager.SetProperty(ids, PiUserTable.FieldEnabled, 0); returnValue = userManager.SetProperty(ids, PiUserTable.FieldAuditStatus, StatusCode.UserLocked.ToString()); } }); return(returnValue); }
/// <summary> /// 设置用户的默认角色 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userId">用户主键</param> /// <param name="roleId">角色主键</param> /// <returns>影响的行数</returns> public int SetDefaultRole(UserInfo userInfo, string userId, string roleId) { var returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_SetDefaultRole, "用户主键:" + userId + ",角色主键:" + roleId); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); if (string.IsNullOrEmpty(roleId)) { roleId = null; } returnValue = userManager.SetProperty(userId, PiUserTable.FieldRoleId, roleId); }); return(returnValue); }
/// <summary> /// 激活帐户 /// </summary> /// <param name="openId">唯一识别码</param> /// <param name="statusCode">返回状态码</param> /// <returns>用户实体</returns> public UserInfo AccountActivation(string openId, out string statusCode) { // 1.用户是否存在? UserInfo userInfo = null; // 用户没有找到状态 statusCode = StatusCode.UserNotFound.ToString(); // 检查是否有效的合法的参数 if (!String.IsNullOrEmpty(openId)) { PiUserManager userManager = new PiUserManager(DBProvider); // DataTable dataTable = userManager.GetDT(PiUserTable.FieldOpenId, openId, PiUserTable.FieldDeleteMark, 0); DataTable dataTable = userManager.GetDT(PiUserTable.FieldDeleteMark, 0); if (dataTable.Rows.Count == 1) { //PiUserEntity userEntity = new PiUserEntity(dataTable); PiUserEntity userEntity = BaseEntity.Create <PiUserEntity>(dataTable); // 3.用户是否被锁定? if (userEntity.Enabled == 0) { statusCode = StatusCode.UserLocked.ToString(); return(userInfo); } if (userEntity.Enabled == 1) { // 2.用户是否已经被激活? statusCode = StatusCode.UserIsActivate.ToString(); return(userInfo); } if (userEntity.Enabled == -1) { // 4.成功激活用户 statusCode = StatusCode.OK.ToString(); userManager.SetProperty(PiUserTable.FieldId, userEntity.Id, PiUserTable.FieldEnabled, 1); return(userInfo); } } } return(userInfo); }
/// <summary> /// 批量置删除标志 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响的行数</returns> public int SetDeleted(UserInfo userInfo, string[] ids) { int returnValue = 0; if (ids == null || ids.Length <= 0) { return(returnValue); } var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.OrganizeService_SetDeleted); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var manager = new PiOrganizeManager(dbProvider, userInfo); for (int pos = 0; pos < ids.Length; pos++) { //逻辑删除组织机构 returnValue += manager.SetDeleted(ids[pos]); //同步处理用户表组织机构相关数据 var userManager = new PiUserManager(dbProvider, userInfo); var parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldCompanyId, null), new KeyValuePair <string, object>(PiUserTable.FieldCompanyName, null) }; userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldCompanyId, ids[pos]), parameters); parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyId, null), new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyName, null) }; userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubCompanyId, ids[pos]), parameters); parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldDepartmentId, null), new KeyValuePair <string, object>(PiUserTable.FieldDepartmentName, null) }; userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldDepartmentId, ids[pos]), parameters); parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentId, null), new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentName, null) }; userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldSubDepartmentId, ids[pos]), parameters); parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupId, null), new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupName, null) }; userManager.SetProperty(new KeyValuePair <string, object>(PiUserTable.FieldWorkgroupId, ids[pos]), parameters); //同步处理员工表组织机构相关数据 var staffOrganizeManager = new PiStaffOrganizeManager(dbProvider, userInfo); parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiStaffOrganizeTable.FieldOrganizeId, ids[pos]) }; staffOrganizeManager.SetDeleted(parameters, true); } }); return(returnValue); }