Exemplo n.º 1
0
        /// <summary>
        /// Creates new meeting for user with specified email.
        /// </summary>
        /// <param name="customerId">Id of user's customer.</param>
        /// <param name="user">User which initiated meeting.</param>
        /// <param name="patient">A patient with whom a meeting is created.</param>
        /// <returns>Instance of created meeting.</returns>
        public async Task <MeetingDto> CreateMeeting(int customerId, User user, PatientDto patient)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            var zoomUser = await this.GetOrCreateZoomUser(customerId, user);

            if (zoomUser.Error != null)
            {
                return(new MeetingDto
                {
                    Error = zoomUser.Error
                });
            }

            var createMeetingRequest = new CreateMeetingRequestDto
            {
                HostId = zoomUser.Id,
                Topic  = string.Join(" ", patient.FirstName, patient.LastName),
                Type   = MeetingType.Instant
            };

            return(await this.zoomDataProvider.CreateMeeting(createMeetingRequest));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates new meeting in zoom.
        /// </summary>
        /// <param name="requestDto"></param>
        /// <returns></returns>
        public async Task <MeetingDto> CreateMeeting(CreateMeetingRequestDto requestDto)
        {
            InitRequestDefaultData(requestDto);

            return(await this.apiClient.SendRequestAsync <MeetingDto>("meeting/create", requestDto, Method.POST));
        }