//[TestMethod] public void UpdateMemberTest(string userId) { var accessToken = AccessTokenContainer.GetToken(_corpId, base._corpSecret); var memberUpdateRequest = new MemberUpdateRequest() { userid = userId, english_name = "new english name", department = new long[] { 2 }, gender = "1", email = "*****@*****.**" }; var result = MailListApi.UpdateMember(accessToken, memberUpdateRequest); Assert.IsNotNull(result); Assert.IsTrue(result.errcode == ReturnCode_Work.请求成功); //校验更新成功 var newMemberData = MailListApi.GetMember(accessToken, userId); Assert.AreEqual(memberUpdateRequest.english_name, newMemberData.english_name); Assert.AreEqual(memberUpdateRequest.email, newMemberData.email); Console.WriteLine("new user info:" + newMemberData.ToJson()); }
/// <summary> /// MemberUpdate updates the member configuration /// </summary> /// <param name="request">The request to send to the server.</param> /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param> /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param> /// <param name="cancellationToken">An optional token for canceling the call.</param> /// <returns>The response received from the server.</returns> public MemberUpdateResponse MemberUpdate(MemberUpdateRequest request, Grpc.Core.Metadata headers = null, DateTime?deadline = null, CancellationToken cancellationToken = default) { return(CallEtcd((connection) => connection.clusterClient .MemberUpdate(request, headers, deadline, cancellationToken))); }
/// <summary> /// 更新用户包括状态 /// </summary> /// <param name="Model"></param> /// <returns></returns> public WorkJsonResult WX_UpdateUser(JH_Auth_User Model) { try { WorkJsonResult Ret = new WorkJsonResult(); if (Qyinfo.IsUseWX == "Y") { long[] Branch = { new JH_Auth_BranchB().GetEntity(d => d.DeptCode == Model.BranchCode).WXBMCode.Value }; MemberUpdateRequest User = new MemberUpdateRequest(); User.userid = Model.UserName; User.name = Model.UserRealName; User.mobile = Model.mobphone; User.department = Branch; User.gender = Model.Sex == "男" ? "1" : "2"; User.enable = Model.IsUse == "Y" ? 1 : 0; Ret = MailListApi.UpdateMember(GetToken(), User); } return(Ret); } catch (Exception ex) { WorkJsonResult Ret = new WorkJsonResult(); new QJY.API.JH_Auth_LogB().Insert(new QJY.Data.JH_Auth_Log() { CRDate = DateTime.Now, LogContent = Model.UserName + "更新错误:" + ex.ToString() }); return(Ret); } }
/// <summary> /// MemberUpdateAsync updates the member configuration in async /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <MemberUpdateResponse> MemberUpdateAsync(MemberUpdateRequest request, Grpc.Core.Metadata headers = null) { MemberUpdateResponse response = new MemberUpdateResponse(); bool success = false; int retryCount = 0; while (!success) { try { response = await _balancer.GetConnection().clusterClient.MemberUpdateAsync(request, headers); success = true; } catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable) { retryCount++; if (retryCount >= _balancer._numNodes) { throw ex; } } } return(response); }
public MemberUpdateResponse MemberUpdate(MemberUpdateRequest request) { var req = request.ToProto(); var rsp = client.MemberUpdate(req); return(rsp.FromProto()); }
/// <summary> /// MemberUpdate updates the member configuration /// </summary> /// <param name="request">The request to send to the server.</param> /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param> /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param> /// <param name="cancellationToken">An optional token for canceling the call.</param> /// <returns>The response received from the server.</returns> public MemberUpdateResponse MemberUpdate(MemberUpdateRequest request, Grpc.Core.Metadata headers = null, DateTime?deadline = null, CancellationToken cancellationToken = default) { MemberUpdateResponse response = new MemberUpdateResponse(); bool success = false; int retryCount = 0; while (!success) { try { response = _balancer.GetConnection().clusterClient .MemberUpdate(request, headers, deadline, cancellationToken); success = true; } catch (RpcException ex) when(ex.StatusCode == StatusCode.Unavailable) { retryCount++; if (retryCount >= _balancer._numNodes) { throw; } } } return(response); }
public IHttpActionResult UpdateMember([FromBody] MemberUpdateRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var member = MemberUnitOfWork.MemberSvc.GetByLoginProviderKeyAndManagerId(DataAccessValue, request.ProviderKey); if (member == null) { return(ReturnResponse(HttpStatusCode.NotFound, MemberManagerMessages.Error.MEMBER_NOT_FOUND)); } member = request.ToMemberVm(member); var resp = MemberUnitOfWork.MemberSvc.UpdateMember(DataAccessId, member); if (resp.IsSuccess) { return(Ok(new MemberResponse(resp.member))); } else { return(Conflict(resp.Message)); } } catch { // Log to Elmah return(InternalServerError(new Exception("Opps.. Seems like there is some issue with the request. please contact the support team."))); } }
/// <summary> /// MemberUpdateAsync updates the member configuration in async /// </summary> /// <param name="request">The request to send to the server.</param> /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param> /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param> /// <param name="cancellationToken">An optional token for canceling the call.</param> /// <returns>The response received from the server.</returns> public async Task <MemberUpdateResponse> MemberUpdateAsync(MemberUpdateRequest request, Grpc.Core.Metadata headers = null, DateTime?deadline = null, CancellationToken cancellationToken = default) { return(await CallEtcdAsync(async (connection) => await connection.clusterClient .MemberUpdateAsync(request, headers, deadline, cancellationToken))); }
/// <summary> /// MemberUpdate updates the member configuration /// </summary> /// <param name="request"></param> /// <returns></returns> public MemberUpdateResponse MemberUpdate(MemberUpdateRequest request, Metadata headers = null) { MemberUpdateResponse response = new MemberUpdateResponse(); response = _balancer.GetConnection().clusterClient.MemberUpdate(request, headers); return(response); }
public WorkJsonResult UpdateMember(UpdateMemberDto dto) { //dto.AccessToken = GetAccessToken(QyConfig.CorpID, QyConfig.CorpSecret); MemberUpdateRequest req = EmitMapperHelper.ObjectMapper <UpdateMemberDto, MemberUpdateRequest>(dto); var result = MailListApi.UpdateMember(dto.AccessToken, req); return(result); }
/// <summary> /// MemberUpdateAsync updates the member configuration in async /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <MemberUpdateResponse> MemberUpdateAsync(MemberUpdateRequest request, Metadata headers = null) { MemberUpdateResponse response = new MemberUpdateResponse(); response = await _balancer.GetConnection().clusterClient.MemberUpdateAsync(request, headers); return(response); }
public static MemberUpdateRequest ToProto(this Entity.MemberUpdateRequest request) { var tmp = new MemberUpdateRequest() { ID = request.ID, }; tmp.PeerURLs.AddRange(request.PeerURLs); return(tmp); }
public MemberInfo UpdateMember([FromBody] MemberUpdateRequest updateRequest) { ModelValidator.Validate(updateRequest); var updatedMember = memberService.UpdateMember(updateRequest); return(new MemberInfo { ID = updatedMember.ID, Name = updatedMember.Name, Email = updatedMember.Email, OptionalEmail = updatedMember.OptionalEmail, MobileNumber = updatedMember.MobileNumber, Gender = updatedMember.Gender, DateOfBirth = updatedMember.DateOfBirth }); }
//[TestMethod] public void UpdateMemberTest(string userId) { var accessToken = AccessTokenContainer.GetToken(_corpId, base._corpSecret); var memberUpdateRequest = new MemberUpdateRequest() { userid = userId, english_name = "new english name", department = new long[] { 2 }, gender = "1", email = "*****@*****.**" }; var result = MailListApi.UpdateMember(accessToken, memberUpdateRequest); Assert.IsNotNull(result); Assert.IsTrue(result.errcode == ReturnCode_Work.请求成功); }
/// <summary> /// MemberUpdate updates the member configuration /// </summary> /// <param name="request"></param> /// <returns></returns> public MemberUpdateResponse MemberUpdate(MemberUpdateRequest request) { MemberUpdateResponse response = new MemberUpdateResponse(); try { response = _clusterClient.MemberUpdate(request, _headers); } catch (RpcException ex) { ResetConnection(ex); throw; } catch { throw; } return(response); }
public static WorkJsonResult UpdateMember(string accessTokenOrAppKey, MemberUpdateRequest memberUpdateRequest, int timeOut = Config.TIME_OUT) { return(ApiHandlerWapper.TryCommonApi(accessToken => { var url = Config.ApiWorkHost + "/cgi-bin/user/update?access_token={0}"; JsonSetting jsonSetting = new JsonSetting(true); return Senparc.Weixin.CommonAPIs.CommonJsonSend.Send <WorkJsonResult>(accessToken, url, memberUpdateRequest, CommonJsonSendType.POST, timeOut, jsonSetting: jsonSetting); }, accessTokenOrAppKey)); /* * 返回结果: * { * "errcode": 0, * "errmsg": "updated" * } */ }
/// <summary> /// MemberUpdateAsync updates the member configuration in async /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <MemberUpdateResponse> MemberUpdateAsync(MemberUpdateRequest request) { MemberUpdateResponse response = new MemberUpdateResponse(); try { response = await _clusterClient.MemberUpdateAsync(request, _headers); } catch (RpcException ex) { ResetConnection(ex); throw; } catch { throw; } return(response); }
public bool UpdateUser(WorkUser user) { if (env.IsDevelopment()) { return(true); } var entity = new MemberUpdateRequest { userid = user.UserID, name = user.Name, mobile = user.Mobile, department = new long[] { Convert.ToInt64(user.DepartmentIds) }, gender = user.Gender.ToString(), enable = 1, }; var reObj = MailListApi.UpdateMember(workSetting.Value.ContactsAccessTokenKey, entity); return(reObj.errcode == ReturnCode_Work.请求成功); }
public async Task <IActionResult> UpdateAsync(string id, [FromBody] MemberUpdateRequest request) { if (request == null) { return(Fail(WebResource.UpdateRequestIsEmpty)); } if (id.IsEmpty() && request.MemberId.IsEmpty()) { return(Fail(WebResource.IdIsEmpty)); } if (request.MemberId.IsEmpty()) { request.MemberId = id.ToGuid(); } await MemberService.UpdateAsync(request); MemberDto byIdAsync = await MemberService.GetByIdAsync(request.MemberId); return(Success(byIdAsync)); }
/// <summary> /// Updates an existing member, but not including its password and its email /// </summary> /// <param name="updateRequest"></param> /// <returns></returns> public Member UpdateMember(MemberUpdateRequest updateRequest) { var existingMember = memberRepository.GetById(updateRequest.ID); if (existingMember == null) { throw new UserNotFoundException(); } var member = new Member { ID = updateRequest.ID, Name = updateRequest.Name, OptionalEmail = updateRequest.OptionalEmail, MobileNumber = updateRequest.MobileNumber, Gender = updateRequest.Gender, DateOfBirth = updateRequest.DateOfBirth }; return(memberRepository.Update(member)); }
public ActionResult UploadUser() { try { //同步部门 GetDepartmentListResult result = MailListApi.GetDepartmentList(WeixinWorkService.GetToken()); var departments = dbContext.SysDepartment.OrderByDescending(c => c.DepartmentName).ToList(); foreach (var item in departments) { if (item.DepartmentId == Guid.Parse("2379788E-45F0-417B-A103-0B6440A9D55D")) { continue; } var parentId = Convert.ToInt64(departments.Where(c => c.DepartmentId == item.ParentId).FirstOrDefault().WeixinWorkId); DepartmentList qyDep = result.department.Where(c => c.id == item.WeixinWorkId).FirstOrDefault(); if (qyDep == null) { var createResult = MailListApi.CreateDepartment(WeixinWorkService.GetToken(), item.DepartmentName, parentId == 0 ? 1 : parentId, 1000 - (item.OrderNo.HasValue ? item.OrderNo.Value : 0)); item.WeixinWorkId = createResult.id; } else { MailListApi.UpdateDepartment(WeixinWorkService.GetToken(), qyDep.id, item.DepartmentName, parentId == 0 ? 1 : parentId, 1000 - (item.OrderNo.HasValue ? item.OrderNo.Value : 0)); } dbContext.SaveChanges(); } //同步用户 var users = dbContext.SysUser.Where(c => c.UserCode != "admin").ToList(); foreach (var userItem in users) { long[] longArr = new long[1]; longArr[0] = Convert.ToInt64(dbContext.SysDepartment.Where(c => c.DepartmentId == userItem.DepartmentId).FirstOrDefault().WeixinWorkId); try { var memberResult = MailListApi.GetMember(WeixinWorkService.GetToken(), userItem.UserCode); if (memberResult.errcode == Senparc.Weixin.ReturnCode_Work.UserID不存在) { MemberCreateRequest request = new MemberCreateRequest(); request.email = userItem.Email; request.department = longArr; request.enable = 1; request.mobile = userItem.Mobile; request.name = userItem.UserName; request.userid = userItem.UserCode; MailListApi.CreateMember(WeixinWorkService.GetToken(), request); } else { MemberUpdateRequest updateRequest = new MemberUpdateRequest(); updateRequest.department = longArr; updateRequest.email = userItem.Email; updateRequest.enable = 1; updateRequest.mobile = userItem.Mobile; updateRequest.name = userItem.UserName; updateRequest.userid = userItem.UserCode; MailListApi.UpdateMember(WeixinWorkService.GetToken(), updateRequest); } } catch { } } return(Json(new { Code = 0, Msg = "同步成功!" })); } catch (Exception ex) { LogHelper.SaveLog(ex); return(Json(new { Code = 1, Msg = "服务器异常,请联系管理员!" })); } }