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