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 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; }