/// <summary> /// 批量打删除标志 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int SetDeleted(UserInfo userInfo, string[] ids) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.StaffService_SetDeleted); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); var staffManager = new PiStaffManager(dbProvider, userInfo); PiStaffEntity staffEntity = null; for (int i = 0; i < ids.Length; i++) { // 删除相应的用户 staffEntity = staffManager.GetEntity(ids[i]); if (staffEntity.UserId != null) { userManager.SetDeleted(staffEntity.UserId); } // 删除职员 returnValue += staffManager.SetDeleted(ids[i], true); var staffOrganizeManager = new PiStaffOrganizeManager(dbProvider, userInfo); returnValue += staffOrganizeManager.SetDeleted(new string[] { PiStaffOrganizeTable.FieldStaffId }, new string[] { ids[i] }); } }); return(returnValue); }
/// <summary> /// 删除员工关联的用户 /// </summary> /// <param name="staffId">员工主键</param> /// <returns>影响行数</returns> public int DeleteUser(string staffId) { int returnValue = 0; string userId = this.GetEntity(staffId).UserId.ToString(); if (!String.IsNullOrEmpty(userId)) { // 删除用户 PiUserManager userManager = new PiUserManager(DBProvider, UserInfo); returnValue += userManager.SetDeleted(userId); } // 将员工的用户设置为空 returnValue += this.SetProperty(staffId, PiStaffTable.FieldUserId, null); return(returnValue); }
/// <summary> /// 删除标志 /// /// 删除员工时,需要把用户也给删除掉 /// </summary> /// <param name="id">主键</param> /// <returns>影响行数</returns> public int SetDeleted(string id) { int returnValue = 0; // 先把用户设置为删除标记 string userId = this.GetProperty(id, PiStaffTable.FieldUserId); if (!String.IsNullOrEmpty(userId)) { PiUserManager userManager = new PiUserManager(DBProvider, UserInfo); returnValue += userManager.SetDeleted(userId); } PiStaffOrganizeManager staffOrganizeManager = new PiStaffOrganizeManager(DBProvider, UserInfo); returnValue += staffOrganizeManager.SetProperty(PiStaffOrganizeTable.FieldStaffId, id, BusinessLogic.FieldDeleteMark, "1"); // 再把员工设置为删除标记 returnValue += this.SetProperty(BusinessLogic.FieldId, id, BusinessLogic.FieldDeleteMark, "1"); return(returnValue); }