/* * //读取上次已选择的教室信息 * public void ReadSelectClassroomsConfig() * { * IEnumerable<int> classroomIds = systemConfig.GetArrayConfig<int>("MonitorClassrooms"); * if (null == classroomIds) return; * treeViewModel.MarkSelectedClassrooms(classroomIds); * QueryTerminalInfos(TreeViewModel.SelectedClassrooms); * sortTerminalInfos(); * } * //保存已选择的教室信息 * public void WriteSelectClassroomsConfig() * { * systemConfig.SetArrayConfig<int>("MonitorClassrooms", TreeViewModel.SelectedClassrooms.Select(p => p.Id).ToList()); * systemConfig.WriteConfig(); * } */ private void sortTerminalInfos() { /* * ObservableExtensions.Sort<TerminalInfo>(TerminalInfos, (a, b) => { * ClassRoom aClassroom = treeViewModel.SelectedClassrooms.Where(p => p.TerminalId.Equals(a.TerminalId)).FirstOrDefault(); * ClassRoom bClassroom = treeViewModel.SelectedClassrooms.Where(p => p.TerminalId.Equals(b.TerminalId)).FirstOrDefault(); * if (null != aClassroom && null != bClassroom) * { * if (aClassroom.ClassroomBuilding.Ord.Equals(bClassroom.ClassroomBuilding.Ord)) * { * return aClassroom.RoomNum.CompareTo(bClassroom.RoomNum); * } * else * { * return aClassroom.ClassroomBuilding.Ord.CompareTo(bClassroom.ClassroomBuilding.Ord); * } * } * else if (null == aClassroom) * { * return -1; * } * else * { * return 1; * } * }); */ ICollection <TerminalInfo> sortTerminalInfos = TerminalInfos.OrderBy(p => treeViewModel.SelectedClassrooms.Where(o => o.TerminalId.Equals(p.TerminalId)).Select(o => o.ClassroomBuilding).FirstOrDefault().Ord) .ThenBy(p => treeViewModel.SelectedClassrooms.Where(o => o.TerminalId.Equals(p.TerminalId)).Select(o => o.RoomNum).FirstOrDefault()).ToList(); for (int i = 0; i < sortTerminalInfos.Count; i++) { TerminalInfos.Move(TerminalInfos.IndexOf(sortTerminalInfos.ElementAt(i)), i); } }