initial commit
[CPE_learningsite] / CPE / CPE.App / CPE.App.Web / Helpers / AdobeMeetingConnection.cs
1 using System;
2 using System.Configuration;
3 using System.Xml;
4 using CPE.App.Web.Connect;
5 using CPE.App.Web.Code;
6
7 namespace CPE.App.Web.Helpers
8 {
9     public static class AdobeMeetingConnection
10     {
11         public static Session GetAdobeAdminSession()
12         {
13             string login = ConfigurationManager.AppSettings["Connect.Login"];
14             string password = ConfigurationManager.AppSettings["Connect.Password"];
15             string url = ConfigurationManager.AppSettings["Connect.Url"];
16             int accountId = int.Parse(ConfigurationManager.AppSettings["Connect.AccountId"]);
17             //redundancy is redundant
18             //Session session = Connect.Login.UserLogin(login, password, url, accountId);
19             //if (session != null)
20             //    return session;
21
22             return Connect.Login.UserLogin(login, password, url, accountId);
23         }
24
25         public static XmlDocument getAdobeMeeting(string url)
26         {
27             Session admin = GetAdobeAdminSession();
28             var request = new Request(admin, "sco-by-url");
29             request.Parameters.Add("url-path", string.Format("/{0}/", url));
30             if (request.Execute() && request.Status == Status.OK)
31             {
32                 int scoId = int.Parse(request.XmlResults.SelectSingleNode("//sco")
33                                              .Attributes["sco-id"].Value);
34                 Extensions.LogServiceCall("[AdobeMeetingConnection][getAdobeMeeting]", String.Format("scoId = {0} url = {1}", scoId, url));
35                 request = new Request(admin, "sco-info");
36                 request.Parameters.Add("sco-id", scoId.ToString());
37                 if (request.Execute() && request.Status == Status.OK)
38                     return request.XmlResults;
39             }
40             return null;
41         }
42
43         public static string getAdobeMeetingName(string url)
44         {
45             XmlDocument meeting = getAdobeMeeting(url);
46             if (meeting == null)
47                 return "";
48             return meeting.SelectSingleNode("//sco/name")
49                           .InnerText;
50         }
51
52         public static int getAdobeMeetingSco(string url)
53         {
54             XmlDocument meeting = getAdobeMeeting(url);
55             if (meeting == null)
56                 return 0;
57             int scoId = int.Parse(meeting.SelectSingleNode("//sco")
58                                              .Attributes["sco-id"].Value);
59             return scoId;
60         }
61     }
62 }