/// <summary> /// 人员更新 /// </summary> /// <returns></returns> public static OapiUserUpdateResponse UpdateUser(OapiUserUpdateRequest deptinfo) { DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/update"); OapiUserUpdateResponse response = client.Execute(deptinfo, AccessToken); return(response); }
/// <summary> /// 更新用户 /// </summary> /// <param name="accessToken"></param> /// <param name="userId">员工id,不可修改,长度为1~64个字符</param> /// <param name="name">成员名称,长度为1~64个字符</param> /// <returns></returns> public OapiUserUpdateResponse Update(string accessToken, string userId, string name) { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/update"); OapiUserUpdateRequest request = new OapiUserUpdateRequest(); request.Name = name; request.Userid = userId; OapiUserUpdateResponse response = client.Execute(request, accessToken); return(response); }
/// <summary> /// 执行创建和更新人员 /// </summary> /// <param name="dt"></param> /// <param name="deptlist"></param> public static void CreateUpdateUser(DataTable dt) { for (int i = 0; i < dt.Rows.Count; i++) { string OUID = Convert.ToString(dt.Rows[i]["OUID"]); string Userid = Convert.ToString(dt.Rows[i]["Userid"]); //账号 string Name = Convert.ToString(dt.Rows[i]["Name"]); //姓名 string Mobile = Convert.ToString(dt.Rows[i]["Mobile"]); //手机号 string EMail = Convert.ToString(dt.Rows[i]["EMail"]); //邮箱 string Position = Convert.ToString(dt.Rows[i]["LeaderTitle"]); //职位 string jobnumber = Convert.ToString(dt.Rows[i]["HRID"]); //工号 string[] allouid = OUID.Split(';'); bool allc = false; List <long> departments = new List <long>(); for (int j = 0; j < allouid.Length; j++) { string ddid = GETParentID(allouid[j]); departments.Add(Convert.ToInt32(ddid)); if (IsExists(Userid, ddid)) { allc = true; } } if (allc)//存在执行更新 { OapiUserUpdateRequest upr = new OapiUserUpdateRequest(); upr.Userid = Userid; upr.Name = Name; upr.Email = EMail; upr.Mobile = Mobile; upr.Position = Position; upr.Jobnumber = jobnumber; upr.Department = departments; UpdateUser(upr); } else//不存在执行创建 { OapiUserCreateRequest cpr = new OapiUserCreateRequest(); cpr.Userid = Userid; cpr.Name = Name; cpr.Email = EMail; cpr.Mobile = Mobile; cpr.Position = Position; cpr.Jobnumber = jobnumber; cpr.Department = JSON.ToJSON(departments); CreateUser(cpr); } } }
/// <summary> /// 创建用户信息 /// </summary> /// <param name="accessToken"></param> /// <param name="userId"></param> /// <returns></returns> public static bool UpdateUser(string accessToken, UserDetailInfo user) { try { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/update"); OapiUserUpdateRequest request = new OapiUserUpdateRequest(); request.Userid = user.UserId; request.Mobile = user.Mobile; request.Name = user.UserName; request.Mobile = user.Mobile == null ? "" : user.Mobile; request.Email = user.Email == null ? "" : user.Email; request.OrderInDepts = user.OrderInDepts == null ? "" : user.OrderInDepts; request.IsHide = user.IsHide; request.Position = user.Position == null ? "" : user.Position; request.HiredDate = Convert.ToInt64(user.HiredDate); request.Jobnumber = user.JobNumber == null ? "" : user.JobNumber; request.IsSenior = user.IsSenior; request.WorkPlace = user.WorkPlace == null ? "" : user.WorkPlace; request.Department = user.Department; OapiUserUpdateResponse response = client.Execute(request, accessToken); if (response != null) { if (response.Errcode == 0) { return(true); } else { throw new Exception(response.ErrMsg); } } return(true); } catch (Exception ex) { throw new Exception(ex.Message); } }