/// <summary> /// 设置领导和负责人 /// </summary> /// <param name="mType">领导或负责人枚举</param> /// <param name="strIDs">用户IDs</param> /// <param name="bSetOrReset">取消或者设置</param> /// <param name="strMessage">错误消息</param> /// <returns></returns> public static bool SetUserLeaderType(Common.LeaderType mType, List <string> strIDs, bool bSetOrReset, out string strMessage) { bool bRet = false; strMessage = string.Empty; DeptPost dp = new DeptPost(); User user = new User(); ViewDeptPost v_dp = new ViewDeptPost(); dp.EnTrans.Begin(); dp.EnTrans.IsBatch = true; foreach (string strID in strIDs) { if (strID.Length == 0) { continue; } bRet = dp.Load(Convert.ToInt32(strID)); if (mType == Common.LeaderType.Manager && bSetOrReset) { v_dp.EnTrans = dp.EnTrans; v_dp.Field = "a.ID"; v_dp.Condition = " FK_DeptID = " + dp.FK_DeptID + " and LeaderType in (" + (int)Common.LeaderType.Manager + "," + (int)Common.LeaderType.LeaderAndManager + ")"; if (v_dp.DtTable != null) { if (v_dp.DtTable.Rows.Count > 0) { user.EnTrans = dp.EnTrans; user.Load(dp.FK_UserID); bRet = false; strMessage = string.Format("({0})所在的部门以存在负责人", user.Name); return(bRet); } } } if (dp.LeaderType == int.MinValue) { dp.LeaderType = 0; } if (bSetOrReset) { dp.LeaderType |= (int)mType; } else { if (dp.LeaderType == (int)mType || (dp.LeaderType == ((int)(Common.LeaderType.Leader | Common.LeaderType.Manager)))) { dp.LeaderType ^= (int)mType; } } bRet = dp.Save(); } dp.EnTrans.Commit(); return(bRet); }
/// <summary> /// 设置职位 /// </summary> /// <param name="postID"></param> /// <param name="IDs"></param> /// <returns></returns> public static bool SetPosition(string postID, List <string> IDs) { bool bRet = false; if (string.IsNullOrEmpty(postID) == false) { DeptPost dp = new DeptPost(); dp.EnTrans.Begin(); dp.EnTrans.IsBatch = true; foreach (string strID in IDs) { bRet = dp.Load(Convert.ToInt32(strID)); dp.FK_PostID = Convert.ToInt32(postID); bRet = dp.Save() && DeptPost.UpdateUserSortNum(dp.FK_UserID, dp.Post); } dp.EnTrans.Commit(); } return(bRet); }
/// <summary> /// 设置职位 /// </summary> /// <param name="postID"></param> /// <param name="IDs"></param> /// <returns></returns> public static bool SetPosition(string postID, List<string> IDs) { bool bRet = false; if (string.IsNullOrEmpty(postID) == false) { DeptPost dp = new DeptPost(); dp.EnTrans.Begin(); dp.EnTrans.IsBatch = true; foreach (string strID in IDs) { bRet = dp.Load(Convert.ToInt32(strID)); dp.FK_PostID = Convert.ToInt32(postID); bRet = dp.Save() && DeptPost.UpdateUserSortNum(dp.FK_UserID, dp.Post); } dp.EnTrans.Commit(); } return bRet; }
/// <summary> /// 设置领导和负责人 /// </summary> /// <param name="mType">领导或负责人枚举</param> /// <param name="strIDs">用户IDs</param> /// <param name="bSetOrReset">取消或者设置</param> /// <param name="strMessage">错误消息</param> /// <returns></returns> public static bool SetUserLeaderType(Common.LeaderType mType, List<string> strIDs, bool bSetOrReset,out string strMessage) { bool bRet = false; strMessage = string.Empty; DeptPost dp = new DeptPost(); User user = new User(); ViewDeptPost v_dp = new ViewDeptPost(); dp.EnTrans.Begin(); dp.EnTrans.IsBatch = true; foreach (string strID in strIDs) { if (strID.Length == 0) continue; bRet = dp.Load(Convert.ToInt32(strID)); if (mType == Common.LeaderType.Manager && bSetOrReset) { v_dp.EnTrans = dp.EnTrans; v_dp.Field = "a.ID"; v_dp.Condition = " FK_DeptID = " + dp.FK_DeptID + " and LeaderType in (" + (int)Common.LeaderType.Manager + "," + (int)Common.LeaderType.LeaderAndManager + ")"; if (v_dp.DtTable != null) { if (v_dp.DtTable.Rows.Count > 0) { user.EnTrans = dp.EnTrans; user.Load(dp.FK_UserID); bRet = false; strMessage = string.Format("({0})所在的部门以存在负责人",user.Name); return bRet; } } } if (dp.LeaderType == int.MinValue) { dp.LeaderType = 0; } if (bSetOrReset) { dp.LeaderType |= (int)mType; } else { if (dp.LeaderType == (int)mType || (dp.LeaderType == ((int)(Common.LeaderType.Leader | Common.LeaderType.Manager)))) { dp.LeaderType ^= (int)mType; } } bRet = dp.Save(); } dp.EnTrans.Commit(); return bRet; }