Example #1
0
        /// <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));
        }