/// <summary> /// Returns existing zoom account for specified user or creates new. /// </summary> /// <param name="customerId">Id of user's customer.</param> /// <param name="user"></param> /// <returns></returns> private async Task <ZoomUserDto> GetOrCreateZoomUser(int customerId, User user) { var getUserRequest = new GetUserByEmailRequestDto { Email = user.Email, LoginType = LoginType.SNS_API }; var zoomUser = await this.zoomDataProvider.GetUserByEmail(getUserRequest); if (zoomUser.Error != null) { switch (zoomUser.Error.Code) { case 1010: // "User not belong to this account" case 1001: // "User not exist" zoomUser = await this.CreateZoomUser(customerId, user); break; } } return(zoomUser); }
/// <summary> /// Returns zoom account for specified email if exists. /// </summary> /// <param name="requestDto"></param> /// <returns></returns> public async Task <ZoomUserDto> GetUserByEmail(GetUserByEmailRequestDto requestDto) { InitRequestDefaultData(requestDto); return(await this.apiClient.SendRequestAsync <ZoomUserDto>("user/getbyemail", requestDto, Method.POST)); }