コード例 #1
0
        /// <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;
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
        }
コード例 #4
0
        /// <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;
        }