public bool BookingMeeting(Model.SVCMMeetingDetail meetingDetail, Model.HandlerSession session, out string error) { error = string.Empty; try { session.AddMessageId(); string xmlData = this._dataTransform.GetXmlDataFromMeetingDetail(meetingDetail, session); ////logger.Debug(string.Format("BookingMeeting, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "startConfer", xmlData); ////logger.Debug(string.Format("BookingMeeting response, xmldata: {0}", response.OuterXml)); string status = response.SelectSingleNode("startConfer").SelectSingleNode("result").InnerText; if (status == "200") { meetingDetail.Id = response.SelectSingleNode("startConfer").SelectSingleNode("conferId").InnerText; return true; } else { error = response.SelectSingleNode("startConfer").SelectSingleNode("result").Attributes["property"].Value; ////logger.Error(string.Format("BookingMeeting failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, response.SelectSingleNode("startConfer").SelectSingleNode("result")); return false; } } catch(Exception ex) { ////logger.Error("BookingMeeting failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool DeleteMeeting(string conferId, Model.HandlerSession session, out string error) { error = string.Empty; try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><deleteConfer><messageId>{0}</messageId><token>{1}</token><conferId>{2}</conferId><conf_operate_obj>1</conf_operate_obj></deleteConfer>", session.MessageId, session.Token, conferId); ////logger.Debug(string.Format("DeleteMeeting, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "deleteConfer", xmlData); ////logger.Debug(string.Format("DeleteMeeting response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("deleteConfer"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { return true; } else { ////logger.Error(string.Format("DeleteMeeting failed, status: {0}, error:{1}", status, response.InnerXml)); //this.ReLogin(session, root.SelectSingleNode("result")); //return false; error = response.SelectSingleNode("deleteConfer").SelectSingleNode("result").Attributes["property"].Value; ////logger.Error(string.Format("DeleteMeeting failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, response.SelectSingleNode("deleteConfer").SelectSingleNode("result")); return false; } } catch (Exception ex) { ////logger.Error("DeleteMeeting failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool UpdateMeeting(Model.SVCMMeetingDetail meetingDetail, string operateType, Model.HandlerSession session, out string error, out string errorCode) { error = string.Empty; errorCode = string.Empty; try { session.AddMessageId(); string xmlData = this._dataTransform.GetXmlDataForUpdatingMeeting(meetingDetail, operateType, session); ////logger.Debug(string.Format("UpdateMeeting, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "updateConfer", xmlData); ////logger.Debug(string.Format("UpdateMeeting response, xmldata: {0}", response.OuterXml)); string status = response.SelectSingleNode("updateConfer").SelectSingleNode("result").InnerText; errorCode = status; if (status == "200") { return true; } else { error = response.SelectSingleNode("updateConfer").SelectSingleNode("result").Attributes["property"].Value; ////logger.Error(string.Format("UpdateMeeting failed, status: {0}, error:{1}", status, response.InnerXml)); if(errorCode == "500" || errorCode == "502" || errorCode == "501") this.ReLogin(session, response.SelectSingleNode("updateConfer").SelectSingleNode("result")); return false; } } catch(Exception ex) { //logger.Error("UpdateMeeting failed, error:" + ex.Message + "\n" + ex.StackTrace); error = ex.Message; this.Login(ref session); } return false; }
public bool TryGetSeriesList(Model.HandlerSession session, out List<Model.MeetingSeries> seriesList) { seriesList = new List<Model.MeetingSeries>(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><seriesList><messageId>{0}</messageId><token>{1}</token></seriesList>", session.MessageId, session.Token); ////logger.Debug(string.Format("TryGetSeriesList, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "seriesList", xmlData); ////logger.Debug(string.Format("TryGetSeriesList response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("seriesList"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { foreach (var item in root.SelectNodes("series")) { var node = item as XmlNode; var series = new MeetingSeries(); series.Id = node.SelectSingleNode("seriesId").InnerText; series.Name = node.SelectSingleNode("seriesName").InnerText; seriesList.Add(series); } return true; } else { ////logger.Error(string.Format("TryGetSeriesList failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { ////logger.Error("TryGetSeriesList failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool TryGetSearchRoomList(SearchRoomListQuery query, Model.HandlerSession session, out List<Model.MeetingRoom> roomList, out string error) { roomList = new List<MeetingRoom>(); error = string.Empty; try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><roomList><messageId>{0}</messageId><token>{1}</token><pageSize>{2}</pageSize><pageNumber>{3}</pageNumber><roomName>{4}</roomName><alias>{5}</alias><roomType>{6}</roomType></roomList>", session.MessageId, session.Token, query.pageSize, query.pageNumber, query.roomName, query.alias, query.roomType ); ////logger.Debug(string.Format("TryGetMeetingRoomList, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "roomSearch", xmlData); ////logger.Debug(string.Format("TryGetMeetingRoomList response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("roomList"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { foreach (var item in root.SelectNodes("roomInfo")) { var node = item as XmlNode; var room = new MeetingRoom(); room.RoomId = node.SelectSingleNode("roomId").InnerText.Split(",".ToCharArray())[0]; room.Name = node.SelectSingleNode("roomName").InnerText; roomList.Add(room); } return true; } else { //logger.Error(string.Format("TryGetMeetingRoomList failed, status: {0}, error:{1}", status, response.InnerXml)); error = "error Code: " + status; this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { //logger.Error("TryGetMeetingRoomList failed, error:" + ex.Message + "\n" + ex.StackTrace); error = ex.Message; this.Login(ref session); } return false; }
public bool TryGetRegionCatagory(RegionCatagoryQuery query, Model.HandlerSession session, out Model.RegionCatagory regionCatagory) { regionCatagory = new RegionCatagory(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><searchCity><messageId>{0}</messageId><token>{1}</token><seriesId>{2}</seriesId><provinceCode>{3}</provinceCode><cityCode>{4}</cityCode><boroughCode>{5}</boroughCode></searchCity>", session.MessageId, session.Token, query.SeriesId, query.ProvinceCode, query.CityCode, query.BoroughCode); //logger.Debug(string.Format("TryGetRegionCatagory, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "searchcity", xmlData); ////logger.Debug(string.Format("TryGetRegionCatagory response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("searchCity"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { regionCatagory.SeriesList = new List<MeetingSeries>(); if(root.SelectSingleNode("seriesList") != null) foreach (var item in root.SelectSingleNode("seriesList").SelectNodes("series")) { var node = item as XmlNode; var series = new MeetingSeries(); series.Id = node.SelectSingleNode("seriesId").InnerText; series.Name = node.SelectSingleNode("seriesName").InnerText; regionCatagory.SeriesList.Add(series); } regionCatagory.ProvinceList = new List<RegionInfo>(); if(root.SelectSingleNode("provinceList") != null) foreach (var item in root.SelectSingleNode("provinceList").SelectNodes("provinceInfo")) { var node = item as XmlNode; var region = new RegionInfo(); region.Code = node.SelectSingleNode("provinceCode").InnerText; region.Name = node.SelectSingleNode("provinceName").InnerText; regionCatagory.ProvinceList.Add(region); } regionCatagory.CityList = new List<RegionInfo>(); if (root.SelectSingleNode("cityList") != null) foreach (var item in root.SelectSingleNode("cityList").SelectNodes("cityInfo")) { var node = item as XmlNode; var region = new RegionInfo(); region.Code = node.SelectSingleNode("cityCode").InnerText; region.Name = node.SelectSingleNode("cityName").InnerText; regionCatagory.CityList.Add(region); } regionCatagory.BoroughList = new List<RegionInfo>(); if (root.SelectSingleNode("boroughList") != null) foreach (var item in root.SelectSingleNode("boroughList").SelectNodes("boroughInfo")) { var node = item as XmlNode; var region = new RegionInfo(); region.Code = node.SelectSingleNode("boroughCode").InnerText; XmlNode nameNode = node.SelectSingleNode("boroughName"); if(nameNode == null) nameNode = node.SelectSingleNode("cityName"); region.Name = nameNode.InnerText; regionCatagory.BoroughList.Add(region); } return true; } else { //logger.Error(string.Format("TryGetRegionCatagory failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch(Exception ex) { //logger.Error("TryGetRegionCatagory failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool TryGetMobileTermList(Model.HandlerSession session, DateTime from, DateTime to, out List<Model.MobileTerm> mobileTermList) { mobileTermList = new List<MobileTerm>(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><mobileTermList><messageId>{0}</messageId><token>{1}</token><startTime>{2}</startTime><endTime>{3}</endTime></mobileTermList>", session.MessageId, session.Token, from.ToString("yyyy-MM-dd HH:mm:ss"), to.ToString("yyyy-MM-dd HH:mm:ss")); //logger.Debug(string.Format("TryGetMobileTermList, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "mobileTermList", xmlData); ////logger.Debug(string.Format("TryGetMobileTermList response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("mobileTermList"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { foreach (var item in root.SelectNodes("roomInfo")) { var node = item as XmlNode; var term = new MobileTerm(); term.RoomId = node.SelectSingleNode("roomId").InnerText; term.RoomName = node.SelectSingleNode("roomName").InnerText; mobileTermList.Add(term); } return true; } else { //logger.Error(string.Format("TryGetMobileTermList failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { //logger.Error("TryGetMobileTermList failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool TryGetMeetingRoomList(MeetingRoomListQuery query, Model.HandlerSession session, out List<Model.MeetingRoom> roomList) { roomList = new List<MeetingRoom>(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><roomList><messageId>{0}</messageId><token>{1}</token><seriesId>{2}</seriesId><levelId>{3}</levelId><confType>{4}</confType><startTime>{5}</startTime><endTime>{6}</endTime></roomList>", session.MessageId, session.Token, query.SeriesId, query.LevelId, (int)query.ConfType, query.StartTime.ToString("yyyy-MM-dd HH:mm:ss"), query.EndTime.ToString("yyyy-MM-dd HH:mm:ss") ); ////logger.Debug(string.Format("TryGetMeetingRoomList, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "roomList", xmlData); ////logger.Debug(string.Format("TryGetMeetingRoomList response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("roomList"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { foreach (var item in root.SelectNodes("roomInfo")) { var node = item as XmlNode; var room = new MeetingRoom(); room.RoomId = node.SelectSingleNode("roomId").InnerText.Split(",".ToCharArray())[0]; room.Name = node.SelectSingleNode("roomName").InnerText; roomList.Add(room); } return true; } else { //logger.Error(string.Format("TryGetMeetingRoomList failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { //logger.Error("TryGetMeetingRoomList failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool TryGetMeetingList(Model.MeetingListQuery query, Model.HandlerSession session, out List<Model.SVCMMeeting> meetingList) { meetingList = new List<SVCMMeeting>(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><bookingConferList><messageId>{0}</messageId><token>{1}</token><conferName>{2}</conferName><roomName>{3}</roomName><servicegk>{4}</servicegk><alias>{5}</alias><startTime>{6}</startTime><endTime>{7}</endTime ><confProperty>{8}</confProperty><statVideoType>{9}</statVideoType><confType>{10}</confType></bookingConferList>", session.MessageId, session.Token, query.MeetingName, query.RoomName, query.ServiceKey, query.Alias, query.StartTime.ToString("yyyy-MM-dd"), query.EndTime.ToString("yyyy-MM-dd"), query.ConferenceProperty, query.StatVideoType, query.ConfType); //logger.Debug(string.Format("TryGetMeetingList, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "bookingConferList", xmlData); ////logger.Debug(string.Format("TryGetMeetingList response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("bookingConferList"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { foreach (var item in root.SelectSingleNode("conferenceList").SelectNodes("conference")) { var node = item as XmlNode; var meeting = new SVCMMeeting(); meeting.Id = node.SelectSingleNode("conferId").InnerText; meeting.Name = node.SelectSingleNode("conferName").InnerText; meeting.AccountName = node.SelectSingleNode("accountName").InnerText; meeting.StartTime = DateTime.Parse(node.SelectSingleNode("startTime").InnerText); meeting.EndTime = DateTime.Parse(node.SelectSingleNode("endTime").InnerText); meeting.StatusCode = int.Parse(node.SelectSingleNode("status").InnerText); meeting.Type = int.Parse(node.SelectSingleNode("mediaType").InnerText); meeting.MainRoom = node.SelectSingleNode("mettingRoom").InnerText; meeting.ServiceKey = node.SelectSingleNode("servicegk").InnerText; meeting.Password = node.SelectSingleNode("confPassword").InnerText; meetingList.Add(meeting); } return true; } else { //logger.Error(string.Format("TryGetMeetingList failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { //logger.Error("TryGetMeetingList failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
public bool TryGetMeetingDetail(string meetingId, Model.HandlerSession session, out Model.SVCMMeetingDetail detail) { detail = new SVCMMeetingDetail(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><confInfo><messageId>{0}</messageId><token>{1}</token><conferId>{2}</conferId></confInfo>", session.MessageId, session.Token, meetingId); //logger.Debug(string.Format("TryGetMeetingDetail, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "getConfInfo", xmlData); //logger.Debug(string.Format("TryGetMeetingDetail response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("confInfo"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { detail.Id = root.SelectSingleNode("conferId").InnerText; detail.Name = root.SelectSingleNode("conferName").InnerText??string.Empty; detail.StartTime = DateTime.Parse(root.SelectSingleNode("startTime").InnerText); detail.EndTime = DateTime.Parse(root.SelectSingleNode("endTime").InnerText); detail.Status = root.SelectSingleNode("status").InnerText; string str = root.SelectSingleNode("mediaType").InnerText; if (str == "4") detail.ConfMideaType = MideaType.Local; else detail.ConfMideaType = MideaType.Video; detail.ParticipatorNumber = int.Parse(root.SelectSingleNode("participatorNumber").InnerText); detail.Series.Name = root.SelectSingleNode("seriesName").InnerText; detail.AccountName = root.SelectSingleNode("accountName").InnerText; detail.Phone = root.SelectSingleNode("telephone").InnerText.Replace("null", ""); var leaders = root.SelectSingleNode("leader").InnerText.Replace("null", "").Split(",".ToCharArray()); foreach (var item in leaders) { detail.LeaderList.Add(new MeetingLeader() { UserName = item }); } detail.LeaderNameListStr = root.SelectSingleNode("leaderName").InnerText; detail.LeaderRoom = root.SelectSingleNode("leaderRoom").InnerText.Replace("null", ""); detail.IpTelephoneNumber = root.SelectSingleNode("ipTelephoneNumber").InnerText; detail.Department = root.SelectSingleNode("department").InnerText; detail.Memo = root.SelectSingleNode("confMemo").InnerText.Replace("null", ""); detail.Password = root.SelectSingleNode("confPassword").InnerText.Replace("null", ""); if (root.SelectSingleNode("videoSet") != null) detail.VideoSet = (VideoSet)int.Parse(root.SelectSingleNode("videoSet").InnerText); detail.IPDesc = root.SelectSingleNode("ipdesc").InnerText.Replace("null",""); XmlNode mobileTermlistNode = root.SelectSingleNode("mobileTermList"); if (mobileTermlistNode != null) { foreach (var item in root.SelectSingleNode("mobileTermList").SelectNodes("roomInfo")) { var node = item as XmlNode; detail.MobileTermList.Add(new MobileTerm() { RoomId = node.SelectSingleNode("roomId").InnerText, RoomName = node.SelectSingleNode("roomName").InnerText }); } } XmlNode roomlistNode = root.SelectSingleNode("roomList"); if (roomlistNode != null) { foreach (var item in root.SelectSingleNode("roomList").SelectNodes("roomInfo")) { var node = item as XmlNode; string termType = node.SelectSingleNode("termType").InnerText; if (termType != "2") { detail.Rooms.Add(new MeetingRoom() { RoomId = node.SelectSingleNode("roomId").InnerText, Name = node.SelectSingleNode("roomName").InnerText, Address = node.SelectSingleNode("address").InnerText }); if (node.SelectSingleNode("roomType").InnerText == "1") { detail.MainRoom = new MeetingRoom() { RoomId = node.SelectSingleNode("roomId").InnerText, Name = node.SelectSingleNode("roomName").InnerText }; } } } } //TermList return true; } else { //logger.Error(string.Format("TryGetMeetingDetail failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { //logger.Error("TryGetMeetingDetail failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }