//更新设备状态信息
        private void QueryTerminalInfos(ICollection <ClassRoom> classrooms)
        {
            ICollection <ClassroomBuilding> classroomBuildings = new List <ClassroomBuilding>();

            foreach (var classroom in classrooms)
            {
                classroomBuildings.Add(classroom.ClassroomBuilding);
                classroom.ClassroomBuilding = null;
            }
            //JsonSerializerSettings settings = new JsonSerializerSettings();
            //settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            //settings.MissingMemberHandling = MissingMemberHandling.Ignore;
            //string jClassrooms = JsonConvert.SerializeObject(classrooms, settings);
            //JArray j = JArray.Parse(jClassrooms);
            //object cls = j.ToObject<ICollection<ClassRoom>>();
            JObject jo = restConnection.Post("api/TerminalInfo/QueryLastTerminalInfos", classrooms);

            foreach (var classroom in classrooms)
            {
                classroom.ClassroomBuilding = classroomBuildings.ElementAt(classrooms.ToList().IndexOf(classroom));
            }
            if (jo.Value <bool>("success"))
            {
                JArray ja = jo.Value <JArray>("data");
                if (null != ja)
                {
                    Collection <TerminalInfo> terminalInfos = ja.ToObject <Collection <TerminalInfo> >();
                    foreach (var terminalInfo in terminalInfos)
                    {
                        ClassRoom classroom = classrooms.Where(p => p.TerminalId.Equals(terminalInfo.TerminalId)).FirstOrDefault();
                        if (null != classroom)
                        {
                            terminalInfo.Name = classroom.ClassroomBuilding.BuildingName + "_" + classroom.RoomNum;
                        }
                    }
                    //删除未选择的教室
                    ICollection <TerminalInfo> removeItems = TerminalInfos.Where(p => !terminalInfos.Select(o => o.TerminalId).Contains(p.TerminalId)).ToList();
                    foreach (var item in removeItems)
                    {
                        TerminalInfos.Remove(item);
                    }
                    //更新原选择教室的信息
                    PropertyInfo[] properties = typeof(TerminalInfo).GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance);
                    foreach (var item in TerminalInfos)
                    {
                        TerminalInfo terminalInfo = terminalInfos.Where(p => p.TerminalId == item.TerminalId).FirstOrDefault();
                        if (null != terminalInfo)
                        {
                            foreach (PropertyInfo property in properties)
                            {
                                property.SetValue(item, property.GetValue(terminalInfo, null), null);
                            }
                        }
                    }
                    //增加新选择的教室
                    ICollection <TerminalInfo> addItems = terminalInfos.Where(p => !TerminalInfos.Select(o => o.TerminalId).Contains(p.TerminalId)).ToList();
                    foreach (var item in addItems)
                    {
                        TerminalInfos.Add(item);
                    }
                }
            }
        }