in API/Controllers/MeetingController.cs [321:376]
public async Task<MeetingResponse> Post([FromBody]MeetingRequest mreq)
{
dynamic authDetails;
try
{
authDetails = await AuthenticateUCWA();
}
catch (Exception ex)
{
telemetry.TrackException(ex);
throw CreateAPIError("3", "Could not authenticate to UCWA.");
}
try
{
MeetingRequestUCWA meeting = new MeetingRequestUCWA();
meeting.attendees = PreprocessAttendeeList(mreq.attendees);
meeting.accessLevel = "Invited";
meeting.subject = mreq.subject;
meeting.description = mreq.description;
meeting.expirationTime = mreq.expirationTime;
meeting.automaticLeaderAssignment = "SameEnterprise";
string json = JsonConvert.SerializeObject(meeting);
HttpWebRequest req = CreateRequest(authDetails.onlineMeetingURL, "POST", authDetails.accessToken, "application/json", json);
string res = GetResponse(req);////Creates the onlne meeting.
dynamic jsonResponse = JsonConvert.DeserializeObject(res);
MeetingResponse response = new MeetingResponse();
response.raw = jsonResponse;
string baseUrl = WebConfigurationManager.AppSettings["WebPortalBaseUrl"];
UriBuilder uri = new UriBuilder(baseUrl);
// Strip 'https://' part out of meeting join URL
var joinUri = new Uri(jsonResponse.joinUrl.ToString());
var joinUrlComponents = joinUri.Host + joinUri.AbsolutePath;
uri.Path = String.Format("/MeetingPortal/Join/Clinic/{0}", joinUrlComponents);
response.clinicJoinUri = uri.ToString();
uri.Path = String.Format("/MeetingPortal/Join/Patient/{0}", joinUrlComponents);
response.patientJoinUri = uri.ToString();
uri.Path = String.Format("/MeetingPortal/DeviceTest/{0}", joinUrlComponents);
response.deviceTestUri = uri.ToString();
return response;
}
catch (Exception ex)
{
telemetry.TrackException(ex);
throw CreateAPIError("1", "Unexpected error occurred.");
}
}