示例#1
0
        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)
                {
                }
            }
        }
示例#2
0
            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)
                    {
                    }
                }
            }
示例#3
0
        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();
        }