public void DropTargetTreeDrop(object sender, DragEventArgs e, object Data) { var t = Data as HelpDragAndDrop; if (t == null) { return; } if (t.listData.Count > 0) { //区域增加终端 //todo var dropInfomation = new DropTargetInfomation(sender, e); var mvvm = dropInfomation.TargetItem as AreaTreeItemModel; if (mvvm == null) { return; } int fatherMvvmId = 0; var fatherMvvm = mvvm; if (mvvm.NodeType == TreeNodeType.IsPartition) { // if (mvvm.NodeId == 0) return; fatherMvvmId = mvvm.NodeId; } else if (mvvm.NodeType == TreeNodeType.IsTml) { if (mvvm.Father == null) { return; } fatherMvvmId = mvvm.Father.NodeId; fatherMvvm = mvvm.Father; } foreach (var tmlNeedAdd in t.listData) { foreach (var tft in this.AreaTreeItem) { tft.DeleteTreeNode(tmlNeedAdd); } } foreach (var tmlNeedAdd in t.listData) { if ( Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey( tmlNeedAdd)) { fatherMvvm.AreaTreeItem.Add(new AreaTreeItemModel(fatherMvvm, Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[tmlNeedAdd], false)); } } ReLoadTmlsAreasBelong(); //GetAreasInfos(fatherMvvm); this.ExClearAllSelected(); } else { if (t.areaTreeData == null) { return; } try { var dropInfomation = new DropTargetInfomation(sender, e); var mvvm = dropInfomation.TargetItem as AreaTreeItemModel; if (mvvm == null) { return; } if (mvvm.NodeType != t.areaTreeData.NodeType) { return; } if (mvvm.Father != t.areaTreeData.Father) { return; } if (mvvm.Father == null) { return; } if (mvvm.NodeId == t.areaTreeData.NodeId) { return; } if (!mvvm.Father.AreaTreeItem.Contains(t.areaTreeData)) { return; } mvvm.Father.AreaTreeItem.Remove(t.areaTreeData); int index = mvvm.Father.AreaTreeItem.IndexOf(mvvm); mvvm.Father.AreaTreeItem.Insert(index, t.areaTreeData); } catch (Exception ex) { } } }
public void DropTargetTreeDrop(object sender, DragEventArgs e, object Data) { var t = Data as HelpDragAndDrop; if (t == null) { return; } if (t.listData.Count > 0) { //组增加终端 //todo var dropInfomation = new DropTargetInfomation(sender, e); var mvvm = dropInfomation.TargetItem as TreeItemViewModel; if (mvvm == null) { return; } int fatherMvvmId = 0; var fatherMvvm = mvvm; int count = 0; int wj3005 = 0; List <int> wj3006Lst = new List <int>(); if (mvvm.NodeType == TreeNodeType.IsGrp) { if (mvvm.NodeId == 0) { return; } fatherMvvmId = mvvm.NodeId; } else if (mvvm.NodeType == TreeNodeType.IsTml) { if (mvvm.Father == null) { return; } fatherMvvmId = mvvm.Father.NodeId; fatherMvvm = mvvm.Father; } foreach (var tmlNeedAdd in t.listData) { foreach (var tft in this.ChildTreeItems) { tft.DeleteTreeNode(tmlNeedAdd); } } foreach (var tmlNeedAdd in t.listData) { if ( Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey( tmlNeedAdd)) { if (Wlst.Sr.TimeTableSystem.Services.RtuOrGprBandingTimeTableInfoService.GetBandingInfo( CurrentSelectArea.Value, fatherMvvm.NodeId) != null) { var dic1 = Wlst.Sr.TimeTableSystem.Services.RtuOrGprBandingTimeTableInfoService.GetBandingInfo( CurrentSelectArea.Value, fatherMvvm.NodeId); var timetable = new List <TimeTableInfoWithRtuOrGrpBandingInfo.TimeTableItem>(); for (int i = 1; i < 9; i++) { if (dic1.ContainsKey(i)) { var ttt = Wlst.Sr.TimeTableSystem.Services.WeekTimeTableInfoService. GeteekTimeTableInfo( CurrentSelectArea.Value, dic1[i]); timetable.Add(ttt); } } foreach (var f in timetable) { foreach (var tt in f.RuleItems) { if (tt.TimetableSectionId > 1) { count += 1; } } } //if (count > 0 && Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[tmlNeedAdd].RtuModel == EnumRtuModel.Wj3005) //{ // UMessageBox.Show("禁止添加", "勾选值包含6路终端,无法加入使用多段时间表的分组", UMessageBoxButton.Yes); // break; //} if (count > 0 && Sr.EquipmentInfoHolding.Services.Others.IsOldUseTwoOpenLightSection == false) { if ( Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[tmlNeedAdd ].RtuModel != EnumRtuModel.Wj3005) { fatherMvvm.ChildTreeItems.Add(new TreeItemViewModel(fatherMvvm, CurrentSelectArea.Value, Wlst.Sr.EquipmentInfoHolding .Services. EquipmentDataInfoHold. InfoItems[tmlNeedAdd], false)); wj3006Lst.Add(tmlNeedAdd); } else { wj3005 += 1; } } else { fatherMvvm.ChildTreeItems.Add(new TreeItemViewModel(fatherMvvm, CurrentSelectArea.Value, Wlst.Sr.EquipmentInfoHolding .Services. EquipmentDataInfoHold. InfoItems[tmlNeedAdd], false)); this.ExCleanAllSelected(); } } else { fatherMvvm.ChildTreeItems.Add(new TreeItemViewModel(fatherMvvm, CurrentSelectArea.Value, Wlst.Sr.EquipmentInfoHolding .Services. EquipmentDataInfoHold. InfoItems[tmlNeedAdd], false)); this.ExCleanAllSelected(); } } } foreach (var sss in wj3006Lst) { foreach (var x in ItemTmls) { if (x.ID == sss) { x.IsChecked = false; } } } if (wj3005 > 0 && Sr.EquipmentInfoHolding.Services.Others.IsOldUseTwoOpenLightSection == false) { wj3006Lst.Clear(); UMessageBox.Show("禁止添加", "勾选值包含6路终端,若想实现多次开关灯请允许“二次开关灯”", UMessageBoxButton.Yes); } ReLoadTmlsGrpsBelong(); } else { if (t.treeData == null) { return; } try { var dropInfomation = new DropTargetInfomation(sender, e); var mvvm = dropInfomation.TargetItem as TreeItemViewModel; if (mvvm == null) { return; } if (mvvm.NodeType != t.treeData.NodeType) { return; } if (mvvm.Father != t.treeData.Father) { return; } if (mvvm.Father == null) { return; } if (mvvm.NodeId == t.treeData.NodeId) { return; } if (!mvvm.Father.ChildTreeItems.Contains(t.treeData)) { return; } mvvm.Father.ChildTreeItems.Remove(t.treeData); int index = mvvm.Father.ChildTreeItems.IndexOf(mvvm); mvvm.Father.ChildTreeItems.Insert(index, t.treeData); } catch (Exception ex) { } } }
public void DropTargetTreeDrop(object sender, DragEventArgs e, object Data) { var t = Data as HelpDragAndDrop; if (t == null) { return; } if (t.type == HelpDragAndDrop.enumType.TreeToListView) { return; } if (t.type == HelpDragAndDrop.enumType.ListViewToTree) { //组增加终端 //todo var dropInfomation = new DropTargetInfomation(sender, e); var mvvm = dropInfomation.TargetItem as TreeItemViewModel; if (mvvm == null) { return; } var lstNeedAddTml = new List <int>(); string[] strTmls = t.CarrayData.Split('/'); try { foreach (var strTmlId in strTmls) { int tempId = Convert.ToInt32(strTmlId); if (tempId > 0) { lstNeedAddTml.Add(tempId); } } } catch (Exception ex) { WriteLog.WriteLogError("iGrpsHelpShowManageViewModel DropTargetTreeDrop err path is :" + t.CarrayData + ",Err is " + ex.ToString()); return; } if (mvvm.IsGroup == false && mvvm.Father != null) { mvvm = mvvm.Father; } if (mvvm.IsGroup == false) { return; } foreach (var f in lstNeedAddTml) { bool find = false; foreach (var g in mvvm.ChildTreeItems) { if (g.NodeId == f) { find = true; break; } } if (find) { continue; } var data = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(f); if (data == null) { continue; } mvvm.ChildTreeItems.Add(new TreeItemViewModel(mvvm, CurrentSelectArea.Value, data, false, null)); } ReLoadTmlsRelfectGrps(); } ExCleanAllSelected(); }