private void RemoveAreaDevs(AreaEntity area) { if (area.LeafNodes == null) { area.LeafNodes = devService.GetListByPid(area.Id + ""); } List <DevEntity> devs = new List <DevEntity>(); //List<DevEntity> devs2 = new List<DevEntity>(); if (area.Type == AreaTypes.机房) { var parent = area.Parent; if (parent == null) { parent = areaService.GetParent(area.Id + ""); } var devs2 = parent.LeafNodes; if (devs2 == null) { devs2 = devService.GetListByPid(parent.Id + ""); } foreach (var item in devs2) { if (area.InitBound.Contains(item.Pos.PosX, item.Pos.PosZ)) { devs.Add(item); } } } else if (area.Type == AreaTypes.楼层) { var devs2 = area.LeafNodes; if (devs2 == null) { devs2 = devService.GetListByPid(area.Id + ""); } foreach (var item in devs2) { if (area.InitBound.Contains(item.Pos.PosX, item.Pos.PosZ)) { devs.Add(item); } } } //var devs=devService.GetListByBound(area.InitBound); AreaCanvas1.SelectDevs(devs); if (MessageBox.Show(string.Format("确认删除区域'{0}'内{1}个设备?", area.Name, devs.Count), "警告", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { foreach (var dev in devs) { var r = devService.Delete(dev.Id + ""); if (r == null) { MessageBox.Show("删除失败:" + dev.Name); } AreaCanvas1.RemoveDev(dev.Id); } } else { AreaCanvas1.ClearSelect(); } }