/// <summary> /// Create a meeting /// </summary> /// <param name="meet"></param> /// <returns>Meeting key</returns> public int CreateMeeting(Meeting meet) { XElement elemAccessControl = new XElement("accessControl", new XElement("meetingPassword", meet.Password)); XElement elemMetaData = new XElement("metaData", new XElement("confName", meet.ConfName) , new XElement("agenda", meet.Agenda)); XElement elemParticipant = new XElement("participants", new XElement("attendees", meet.Attendees.Select(em => new XElement("attendee", new XElement("person", new XElement("email", em) ) ) ) ) ); XElement elemEnableOption = new XElement("enableOptions", new[] { "chat", "poll", "audioVideo" }.Select(e => new XElement(e, "true"))); XElement elemSchedule = new XElement("schedule", new XElement("startDate", meet.StartDate.ToString(dateFormat,CultureInfo.InvariantCulture)), new XElement("duration", meet.Duration) ); var bodyContentElem = new XElement(strBodyContent,elemAccessControl,elemMetaData,elemParticipant,elemEnableOption,elemSchedule); string xml = XMLUtil.GetFullXML(bodyContentElem,strReqCreateMeeting); System.IO.File.WriteAllText("C:/ztmp/req3.xml", xml); string result = new RequestManager().GetResponse(xml); System.IO.File.WriteAllText("C:/ztmp/aa3.xml", result); XDocument doc = XDocument.Parse(result); WebExErrorDetails err = GetErrorDetails(doc); if (err != null) { throw new WebExException(err); } XNamespace nsMeet = strNamespaceMeet; XNamespace nsServ = strNamespaceServ; XElement elemContent = doc.Descendants(nsServ + "bodyContent").FirstOrDefault(); int meetingID = int.Parse(elemContent.Element(nsMeet + "meetingkey").Value); return meetingID; }
protected void btnCreate_Click(object sender, EventArgs e) { Meeting meet = new Meeting(); meet.Agenda = txtAgenda.Text; meet.Attendees = txtAttendees.Text.Split(new[] { ',' }).Select(s => s.Trim()).ToList() ; meet.ConfName = txtTopic.Text; meet.Duration = int.Parse(txtDuration.Text); meet.Password = txtPassword.Text; meet.StartDate = DateTime.Parse(txtDateTime.Text); try { int meetKey = new WebExAdapter().CreateMeeting(meet); Session["create_success"] = true; Response.Redirect("Default.aspx"); } catch (WebExException wex) { DivError.Visible = true; spanError.InnerText = wex.Message; } }
public bool UpdateMeeting(Meeting meet) { bool success = true; XElement elemMetaData = new XElement("metaData", new XElement("confName", meet.ConfName) , new XElement("agenda", meet.Agenda)); XElement elemParticipant = new XElement("participants", new XElement("attendees", meet.Attendees.Select(em => new XElement("attendee", new XElement("person", new XElement("email", em) ) ) ) ) ); XElement elemEnableOption = new XElement("enableOptions", new[] { "chat", "poll", "audioVideo" }.Select(e => new XElement(e, "true"))); XElement elemSchedule = new XElement("schedule", new XElement("startDate", meet.StartDate.ToString(dateFormat, CultureInfo.InvariantCulture)), new XElement("duration", meet.Duration) ); XElement elemMeetingKey = new XElement("meetingkey", meet.MeetingKey); var bodyContentElem = new XElement(strBodyContent,elemMetaData,elemParticipant,elemEnableOption,elemSchedule,elemMeetingKey); string xml = XMLUtil.GetFullXML(bodyContentElem, strReqUpdateMeeting); System.IO.File.WriteAllText("C:/ztmp/req4.xml", xml); string result = new RequestManager().GetResponse(xml); System.IO.File.WriteAllText("C:/ztmp/aa4.xml", result); XDocument doc = XDocument.Parse(result); WebExErrorDetails err = GetErrorDetails(doc); if (err != null) { throw new WebExException(err); } return success; }
/// <summary> /// Get a meeting by ID /// </summary> /// <param name="meetingKey"></param> /// <returns></returns> public Meeting GetMeeting(int meetingKey) { var bodyContentElem = new XElement(strBodyContent, new XElement("meetingKey",meetingKey)); string xml = XMLUtil.GetFullXML(bodyContentElem, strReqMeeting); string result = new RequestManager().GetResponse(xml); System.IO.File.WriteAllText("C:/ztmp/aa2.xml", result); XDocument doc = XDocument.Parse(result); WebExErrorDetails err = GetErrorDetails(doc); if (err != null) { throw new WebExException(err); } XNamespace nsMeet = strNamespaceMeet, nsAtt = strNamespaceAtt; XNamespace nsServ = strNamespaceServ, nsCom = strNamespaceCom; Meeting meet = new Meeting(); XElement elemContent = doc.Descendants(nsServ + "bodyContent").FirstOrDefault(); meet.ConfName = elemContent.Element(nsMeet + "metaData").Element(nsMeet + "confName").Value; meet.MeetingKey = int.Parse(elemContent.Element(nsMeet + "meetingkey").Value); meet.HostWebExID = elemContent.Element(nsMeet + "schedule").Element(nsMeet + "hostWebExID").Value; meet.StartDate = DateTime.ParseExact(elemContent.Element(nsMeet + "schedule").Element(nsMeet + "startDate").Value ,dateFormat,CultureInfo.InvariantCulture) ; meet.Duration = int.Parse(elemContent.Element(nsMeet + "schedule").Element(nsMeet + "duration").Value); meet.Attendees = elemContent.Element(nsMeet + "participants").Element(nsMeet + "attendees") .Elements(nsMeet + "attendee") .Select(attendeeElem => attendeeElem.Element(nsAtt + "person") .Element(nsCom + "email").Value) .ToList(); return meet; }