public List<MeetingRoom> GetMeetingRooms(string alias) { List<MeetingRoom> list = new List<MeetingRoom>(); string error; foreach (var item in alias.Split(" ".ToCharArray())) { SearchRoomListQuery query = new SearchRoomListQuery(); query.alias = item; query.roomType = "-1"; query.pageSize = 10; query.pageNumber = 1; List<MeetingRoom> roomList; if (ClientServiceFactory.Create().TryGetSearchRoomList(query, hSession, out roomList, out error)) { list.AddRange(roomList); } } return list; }
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; }