public string GetXmlDataForUpdatingMeeting(SVCMMeetingDetail detail, string operationType, HandlerSession session) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><updateConfer></updateConfer>"); XmlNode root = xmlDoc.SelectSingleNode("updateConfer"); this.AddChildrenNode(xmlDoc, root, "messageId", session.MessageId.ToString()); this.AddChildrenNode(xmlDoc, root, "token", session.Token); this.AddChildrenNode(xmlDoc, root, "conferId", detail.Id); this.AddChildrenNode(xmlDoc, root, "conferName", detail.Name); this.AddChildrenNode(xmlDoc, root, "startTime", detail.StartTime.ToString("yyyy-MM-dd HH:mm:ss")); this.AddChildrenNode(xmlDoc, root, "durationHour", detail.DurantionHours.ToString()); this.AddChildrenNode(xmlDoc, root, "durationMinute", detail.DurantionMinutes.ToString()); this.AddChildrenNode(xmlDoc, root, "confPassword", detail.Password??string.Empty); this.AddChildrenNode(xmlDoc, root, "conferMemo", detail.Memo); this.AddChildrenNode(xmlDoc, root, "meetingRoom", detail.MainRoom == null ? string.Empty : detail.MainRoom.RoomId.Split(",".ToCharArray())[0]); this.AddChildrenNode(xmlDoc, root, "termIds", detail.RoomIds); this.AddChildrenNode(xmlDoc, root, "videoSet", ((int)detail.VideoSet).ToString()); this.AddChildrenNode(xmlDoc, root, "participatorNumber", detail.ParticipatorNumber.ToString()); this.AddChildrenNode(xmlDoc, root, "phone", detail.Phone); this.AddChildrenNode(xmlDoc, root, "ipdesc", detail.IPDesc); //点对点会议是否上MCU,0:不上MCU,1:上MCU,快乐平安新增字段,保留,默认填0 this.AddChildrenNode(xmlDoc, root, "inMCU", "0"); this.AddChildrenNode(xmlDoc, root, "leader", detail.LeaderListStr); this.AddChildrenNode(xmlDoc, root, "leaderRoom", detail.LeaderRoom); this.AddChildrenNode(xmlDoc, root, "conferType", ((int)detail.ConfType).ToString()); this.AddChildrenNode(xmlDoc, root, "conferMideaType", ((int)detail.ConfMideaType).ToString()); this.AddChildrenNode(xmlDoc, root, "operateType", operationType); //----会议操作对象,1:web端,2:outlook客户端,3:快乐平安客户端--- this.AddChildrenNode(xmlDoc, root, "conf_operate_obj", "2"); return xmlDoc.InnerXml; }
public bool AudioControl(int meetingId, string alias, string ip, bool isMute, HandlerSession session, out string error) { error = string.Empty; try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><AudioCtrl><messageId>{0}</messageId><token>{1}</token><confId>{2}</confId><alias>{3}</alias><mute>{4}</mute><ip>{5}</ip></AudioCtrl>", session.MessageId, session.Token, meetingId, alias, isMute ? 1 : 0, ip); var response = this._client.DoHttpWebRequest(session.BaseUrl + "AudioCtrl", xmlData); XmlNode root = response.SelectSingleNode("AudioCtrl"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { return true; } else { error = response.SelectSingleNode("AudioCtrl").SelectSingleNode("result").Attributes["property"].Value; this.ReLogin(session, response.SelectSingleNode("AudioCtrl").SelectSingleNode("result")); return false; } } catch (Exception ex) { this.Login(ref session); } return false; }
public string GetXmlDataFromMeetingDetail(SVCMMeetingDetail detail, HandlerSession session) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><startConfer></startConfer>"); XmlNode root = xmlDoc.SelectSingleNode("startConfer"); this.AddChildrenNode(xmlDoc, root, "messageId", session.MessageId.ToString()); this.AddChildrenNode(xmlDoc, root, "token", session.Token); this.AddChildrenNode(xmlDoc, root, "conferName", detail.Name); this.AddChildrenNode(xmlDoc, root, "startTime", detail.StartTime.ToString("yyyy-MM-dd HH:mm:ss")); this.AddChildrenNode(xmlDoc, root, "durationHour", detail.DurantionHours.ToString()); this.AddChildrenNode(xmlDoc, root, "durationMinute", detail.DurantionMinutes.ToString()); this.AddChildrenNode(xmlDoc, root, "mcuTemplateId", ""); this.AddChildrenNode(xmlDoc, root, "confPassword", detail.Password); this.AddChildrenNode(xmlDoc, root, "chairPassword", ""); this.AddChildrenNode(xmlDoc, root, "caption", ""); this.AddChildrenNode(xmlDoc, root, "conferMemo", detail.Memo); if(detail.MainRoom != null && detail.MainRoom.RoomId != null) this.AddChildrenNode(xmlDoc, root, "meetingRoom", detail.MainRoom.RoomId.Split(",".ToCharArray())[0]); else this.AddChildrenNode(xmlDoc, root, "meetingRoom", ""); this.AddChildrenNode(xmlDoc, root, "termIds", detail.RoomIds); this.AddChildrenNode(xmlDoc, root, "videoSet", ((int)detail.VideoSet).ToString()); //是否设定轮询 1 是 0 否,平安业务无此字段,保留 this.AddChildrenNode(xmlDoc, root, "ifPolling", "1"); //主席会场 0:表示无主席会场 ,平安业务无此字段,保留 this.AddChildrenNode(xmlDoc, root, "chairRoom", "1"); //与会人Ids,平安业务无此字段,保留 this.AddChildrenNode(xmlDoc, root, "participateIds", ""); //是否发送会议短信,平安业务无此字段,保留 this.AddChildrenNode(xmlDoc, root, "sendmsgflag", ""); //是否音视频分离,平安业务无此字段,保留 this.AddChildrenNode(xmlDoc, root, "isSperate", ""); this.AddChildrenNode(xmlDoc, root, "participatorNumber", detail.ParticipatorNumber.ToString()); this.AddChildrenNode(xmlDoc, root, "phone", detail.Phone); this.AddChildrenNode(xmlDoc, root, "ipdesc", detail.IPDesc); //点对点会议是否上MCU,0:不上MCU,1:上MCU,快乐平安新增字段,保留,默认填0 this.AddChildrenNode(xmlDoc, root, "inMCU", "0"); this.AddChildrenNode(xmlDoc, root, "leader", detail.LeaderListStr); this.AddChildrenNode(xmlDoc, root, "leaderRoom", detail.LeaderRoom); this.AddChildrenNode(xmlDoc, root, "conferType", ((int)detail.ConfType).ToString()); this.AddChildrenNode(xmlDoc, root, "conferMideaType", ((int)detail.ConfMideaType).ToString()); this.AddChildrenNode(xmlDoc, root, "regularMeetingType", detail.RegularMeetingType.ToString()); this.AddChildrenNode(xmlDoc, root, "regularMaxnum", detail.RegularMaxNum.ToString()); this.AddChildrenNode(xmlDoc, root, "regularMeetingNum", detail.RegularMeetingNum.ToString()); this.AddChildrenNode(xmlDoc, root, "multiExceptDay", detail.MultiExceptDay); this.AddChildrenNode(xmlDoc, root, "multiExceptWeek", detail.MultiExceptWeek); this.AddChildrenNode(xmlDoc, root, "everyFewMonths", ((int)detail.EveryFewMonths).ToString()); this.AddChildrenNode(xmlDoc, root, "theFirstFew", ((int)detail.TheFirstFew).ToString()); this.AddChildrenNode(xmlDoc, root, "week", detail.Week.ToString()); //----会议操作对象,1:web端,2:outlook客户端,3:快乐平安客户端--- this.AddChildrenNode(xmlDoc, root, "conf_operate_obj", "1"); return xmlDoc.InnerXml; }
public string Login(string username, string password, string IP, string Port) { hSession = new HandlerSession(); hSession.UserName = username; hSession.IP = IP; hSession.Port = Port; this.session = new SessionResponse(); if (ClientServiceFactory.Create().Login(ref hSession)) { this.session.Result = true; this.session.UserName = username; this.session.Token = hSession.Token; } else { this.session.Result = false; this.session.UserName = username; this.session.Error = "登录失败"; } return JsonConvert.SerializeObject(this.session); }
public bool TryGetMeetingScheduler(MeetingSchedulerQuery query, HandlerSession session, out List<MeetingScheduler> schedulerList) { schedulerList = new List<MeetingScheduler>(); try { session.AddMessageId(); string xmlData = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?><termConferList><messageId>{0}</messageId><token>{1}</token><roomName>{2}</roomName><levelId>{3}</levelId><seriesId>{4}</seriesId><provinceCode>{5}</provinceCode><cityCode>{6}</cityCode><boroughCode>{7}</boroughCode><boardroomState>{8}</boardroomState><roomIfTerminal>{9}</roomIfTerminal><capacity>{10}</capacity><startTime>{11}</startTime><endTime>{12}</endTime><dataAll>{13}</dataAll></termConferList>", session.MessageId, session.Token, query.RoomName, query.LevelId, query.SeriesId, query.ProvinceCode, query.CityCode, query.BoroughCode, query.BoardRoomState, query.RoomIfTerminal, query.Capacity, query.StartTime.ToString("yyyy-MM-dd HH:mm:ss"), query.EndTime.ToString("yyyy-MM-dd HH:mm:ss"), query.DataAll); //logger.Debug(string.Format("TryGetMeetingScheduler, xmldata: {0}", xmlData)); var response = this._client.DoHttpWebRequest(session.BaseUrl + "termConferList", xmlData); ////logger.Debug(string.Format("TryGetMeetingScheduler response, xmldata: {0}", response.OuterXml)); XmlNode root = response.SelectSingleNode("termConferList"); string status = root.SelectSingleNode("result").InnerText; if (status == "200") { foreach (var item in root.SelectSingleNode("roomList").SelectNodes("roomInfo")) { var node = item as XmlNode; string roomId = node.SelectSingleNode("roomId").InnerText; string roomName = node.SelectSingleNode("roomName").InnerText; string seriesName = node.SelectSingleNode("seriesName").InnerText; int IfTerminal = int.Parse(node.SelectSingleNode("IfTerminal").InnerText); string property = node.SelectSingleNode("property").InnerText; string address = node.SelectSingleNode("seriesName").InnerText; var conferIdNodes = node.SelectNodes("conferId"); var startTimeNodes = node.SelectNodes("startTime"); var endTimeNodes = node.SelectNodes("endTime"); var approveStatusNodes = node.SelectNodes("approveStatus"); var statusNodes = node.SelectNodes("status"); if (conferIdNodes != null && conferIdNodes.Count > 0) { for (int i = 0; i < conferIdNodes.Count; i++) { var meeting = new MeetingScheduler(); meeting.RoomId = roomId; meeting.RoomName = roomName; meeting.IfTerminal = IfTerminal; meeting.Property = property; meeting.Address = address; meeting.SeriesName = seriesName; meeting.ConferId = conferIdNodes[i].InnerText; meeting.StartTime = DateTime.Parse(startTimeNodes[i].InnerText); meeting.EndTime = DateTime.Parse(endTimeNodes[i].InnerText); meeting.ApproveStatus = int.Parse(approveStatusNodes[i].InnerText); meeting.Status = int.Parse(statusNodes[i].InnerText); schedulerList.Add(meeting); } } else { var meeting = new MeetingScheduler(); meeting.RoomId = roomId; meeting.RoomName = roomName; meeting.IfTerminal = IfTerminal; meeting.Property = property; meeting.Address = address; meeting.SeriesName = seriesName; meeting.StartTime = DateTime.MinValue; schedulerList.Add(meeting); } } return true; } else { //logger.Error(string.Format("TryGetMeetingScheduler failed, status: {0}, error:{1}", status, response.InnerXml)); this.ReLogin(session, root.SelectSingleNode("result")); return false; } } catch (Exception ex) { //logger.Error("TryGetMeetingScheduler failed, error:" + ex.Message + "\n" + ex.StackTrace); this.Login(ref session); } return false; }
private void ReLogin(HandlerSession session, XmlNode resultNode) { string property = resultNode.Attributes["property"].Value; string status = resultNode.InnerText; if (property == "TOKEN不存在!" || property == "MESSAGEID有误,出现丢包现象!" || status == "404" || status == "502") { //重新登录 this.Login(ref session); } }