public async Task Post()

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.");
            }
        }