Esempio n. 1
0
 /// <summary>
 /// 双击编辑
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void renameClick(object sender, RoutedEventArgs e)
 {
     if (this.FolderModel.id != 0)
     {
         var inputbox = new Dialogs.InputBox("请输入新文件夹名称", "修改文件夹");
         inputbox.Owner = MainWindow.Instance;
         inputbox.Value = this.FolderModel.Name;
         if (inputbox.ShowDialog() == true && !inputbox.Value.IsBlank())
         {
             FolderModel.Name = inputbox.Value.Trim();
             if (FolderModel.ChangedProperties.Count > 0)
             {
                 MainWindow.Instance.Cursor = Cursors.Hand;
                 Helper.Remote.Invoke <int>("UpdateDevicePointFolder", (ret, err) =>
                 {
                     MainWindow.Instance.Cursor = null;
                     if (err != null)
                     {
                         MessageBox.Show(MainWindow.Instance, err);
                     }
                     else
                     {
                         this.Text = FolderModel.Name;
                     }
                 }, FolderModel);
             }
         }
     }
 }
Esempio n. 2
0
        void editUnitClick(object sender, RoutedEventArgs e)
        {
            FrameworkElement treeviewitem = sender as FrameworkElement;
            var curNode = (treeviewitem.DataContext as ContextMenuItem).Tag as ControlUnitNode;

            Dialogs.InputBox frm = new Dialogs.InputBox("请输入单元编号,如01、02等数字编号形式", "编辑控制单元");
            frm.Owner = MainWindow.Instance;
            var match = System.Text.RegularExpressions.Regex.Match(curNode.Data.Name, @"[0-9]+");

            frm.Value = match.Value;
            if (frm.ShowDialog() == true && !string.IsNullOrEmpty(frm.Value))
            {
                match = System.Text.RegularExpressions.Regex.Match(frm.Value, @"[0-9]+");
                if (match.Value != frm.Value)
                {
                    MessageBox.Show(MainWindow.Instance, "必须是01、02等数字编号形式");
                    editUnitClick(sender, e);
                    return;
                }

                SunRizServer.ControlUnit unit = curNode.Data.Clone <SunRizServer.ControlUnit>();
                unit.Name = "UNIT" + frm.Value;
                Helper.Remote.Invoke <int>("UpdateControlUnit", (ret, err) => {
                    if (err != null)
                    {
                        MessageBox.Show(MainWindow.Instance, err);
                    }
                    else
                    {
                        unit.ChangedProperties.Clear();
                        curNode.Data = unit;
                    }
                }, unit);
            }
        }
Esempio n. 3
0
        void addFolderClick(object sender, RoutedEventArgs e)
        {
            var inputbox = new Dialogs.InputBox("请输入文件夹名称", "添加文件夹");

            inputbox.Owner = MainWindow.Instance;
            if (inputbox.ShowDialog() == true && !inputbox.Value.IsBlank())
            {
                SunRizServer.ControlWindowFolder folder = new SunRizServer.ControlWindowFolder();
                folder.ParentId      = _folderId;
                folder.Name          = inputbox.Value.Trim();
                folder.ControlUnitId = _controlUnitId;

                MainWindow.Instance.Cursor = Cursors.Hand;
                Helper.Remote.Invoke <int>("UpdateControlWindowFolder", (ret, err) =>
                {
                    MainWindow.Instance.Cursor = null;
                    if (err != null)
                    {
                        MessageBox.Show(MainWindow.Instance, err);
                    }
                    else
                    {
                        folder.id = ret;
                        folder.ChangedProperties.Clear();

                        //添加node对象
                        var newNode = new ControlWindowContainerNode(_controlUnitId, folder);
                        this.Nodes.Insert(0, newNode);
                        this.IsExpanded = true;
                    }
                }, folder);
            }
        }
Esempio n. 4
0
        void addFolderClick(object sender, RoutedEventArgs e)
        {
            var inputbox = new Dialogs.InputBox("请输入文件夹名称", "添加文件夹");

            inputbox.Owner = MainWindow.Instance;
            if (inputbox.ShowDialog() == true && !inputbox.Value.IsBlank())
            {
                SunRizServer.DevicePointFolder folder = new DevicePointFolder();
                folder.ParentId = this.FolderModel.id;
                folder.Type     = this.FolderType;
                folder.Name     = inputbox.Value.Trim();
                folder.DeviceId = GetDevice().id;

                MainWindow.Instance.Cursor = Cursors.Hand;
                Helper.Remote.Invoke <int>("UpdateDevicePointFolder", (ret, err) =>
                {
                    MainWindow.Instance.Cursor = null;
                    if (err != null)
                    {
                        MessageBox.Show(MainWindow.Instance, err);
                    }
                    else
                    {
                        folder.id = ret;
                        folder.ChangedProperties.Clear();

                        //添加node对象
                        AnalogNode newNode = null;
                        if (this.FolderType == DevicePointFolder_TypeEnum.Analog)
                        {
                            newNode = new AnalogNode(folder);
                        }
                        else
                        {
                            newNode = new DigitalNode(folder);
                        }
                        newNode.Text = folder.Name;
                        this.Nodes.Insert(0, newNode);
                        this.IsExpanded = true;
                    }
                }, folder);
            }
        }
Esempio n. 5
0
 void transformBackTest()
 {
     Dialogs.InputBox frm = new Dialogs.InputBox("请输入值", "值转换测试(反向)");
     frm.Owner = MainWindow.Instance;
     if (frm.ShowDialog() == true)
     {
         if (!string.IsNullOrEmpty(frm.Value))
         {
             var detail = new Newtonsoft.Json.Linq.JObject();
             detail["IsSquare"]    = this._point.IsSquare.GetValueOrDefault();
             detail["IsTransform"] = this._point.IsTransform.GetValueOrDefault();
             detail["IsLinear"]    = this._point.IsLinear.GetValueOrDefault();
             detail["DPCount"]     = this._point.DPCount;
             if (this._point.IsTransform == true)
             {
                 detail["SensorMax"] = this._point.SensorMax;
                 detail["SensorMin"] = this._point.SensorMin;
             }
             if (this._point.IsLinear == true)
             {
                 detail["LinearX1"] = this._point.LinearX1;
                 detail["LinearX2"] = this._point.LinearX2;
                 detail["LinearX3"] = this._point.LinearX3;
                 detail["LinearX4"] = this._point.LinearX4;
                 detail["LinearX5"] = this._point.LinearX5;
                 detail["LinearX6"] = this._point.LinearX6;
                 detail["LinearY1"] = this._point.LinearY1;
                 detail["LinearY2"] = this._point.LinearY2;
                 detail["LinearY3"] = this._point.LinearY3;
                 detail["LinearY4"] = this._point.LinearY4;
                 detail["LinearY5"] = this._point.LinearY5;
                 detail["LinearY6"] = this._point.LinearY6;
             }
             var point = new Newtonsoft.Json.Linq.JObject();
             point["detail"] = detail;
             point["max"]    = this._point.TransMax;
             point["min"]    = this._point.TransMin;
             var value = SunRizDriver.Helper.GetRealValue(point, frm.Value);
             MessageBox.Show(MainWindow.Instance, $"转换后的值为:{value}");
         }
     }
 }
Esempio n. 6
0
        void addControlUnitClick(object sender, RoutedEventArgs e)
        {
            Dialogs.InputBox frm = new Dialogs.InputBox("请输入单元编号,如01、02等数字编号形式", "新建控制单元");
            frm.Owner = MainWindow.Instance;
            if (frm.ShowDialog() == true && !string.IsNullOrEmpty(frm.Value))
            {
                var match = System.Text.RegularExpressions.Regex.Match(frm.Value, @"[0-9]+");
                if (match.Value != frm.Value)
                {
                    MessageBox.Show(MainWindow.Instance, "必须是01、02等数字编号形式");
                    addControlUnitClick(sender, e);
                    return;
                }
                var unit = new SunRizServer.ControlUnit();
                unit.Name = "UNIT" + frm.Value;
                MainWindow.Instance.Cursor = Cursors.Hand;

                //异步调用服务器方法
                Helper.Remote.Invoke <int>("UpdateControlUnit", (ret, err) => {
                    MainWindow.Instance.Cursor = null;
                    if (err != null)
                    {
                        MessageBox.Show(MainWindow.Instance, err);
                    }
                    else
                    {
                        unit.id = ret;
                        unit.ChangedProperties.Clear();
                        this.IsExpanded      = true;
                        ControlUnitNode node = new ControlUnitNode(unit);
                        node.ContextMenuItems.Add(new ContextMenuItem()
                        {
                            Text         = "重命名",
                            ClickHandler = editUnitClick,
                            Tag          = node,
                        });
                        this.Nodes.Add(node);
                    }
                }, unit);
            }
        }
Esempio n. 7
0
        void editDeviceClick(object sender, RoutedEventArgs e)
        {
            FrameworkElement treeviewitem = sender as FrameworkElement;
            var curNode = ((ContextMenuItem)treeviewitem.DataContext).Tag as DeviceNode;

            Dialogs.InputBox frm = new Dialogs.InputBox("请输入新控制器编号,如01、02等数字编号形式", "编辑控制器");
            frm.Owner = MainWindow.Instance;
            var match = System.Text.RegularExpressions.Regex.Match(curNode.Data.Name, @"[0-9]+");

            frm.Value = match.Value;
            if (frm.ShowDialog() == true && !string.IsNullOrEmpty(frm.Value))
            {
                match = System.Text.RegularExpressions.Regex.Match(frm.Value, @"[0-9]+");
                if (match.Value != frm.Value)
                {
                    MessageBox.Show(MainWindow.Instance, "必须是01、02等数字编号形式");
                    editDeviceClick(sender, e);
                    return;
                }

                var device = curNode.Data.Clone <SunRizServer.Device>();
                device.Name = "DROP" + frm.Value;

                MainWindow.Instance.Cursor = Cursors.Hand;

                //异步调用服务器方法
                Helper.Remote.Invoke <int>("UpdateDevice", (ret, err) => {
                    MainWindow.Instance.Cursor = null;
                    if (err != null)
                    {
                        MessageBox.Show(MainWindow.Instance, err);
                    }
                    else
                    {
                        device.ChangedProperties.Clear();
                        curNode.Data = device;
                    }
                }, device);
            }
        }
Esempio n. 8
0
 void addDeviceClick(object sender, RoutedEventArgs e)
 {
     Dialogs.InputBox frm = new Dialogs.InputBox("请输入控制器编号,如01、02等数字编号形式", "添加控制器");
     frm.Owner = MainWindow.Instance;
     if (frm.ShowDialog() == true && !string.IsNullOrEmpty(frm.Value))
     {
         var match = System.Text.RegularExpressions.Regex.Match(frm.Value, @"[0-9]+");
         if (match.Value != frm.Value)
         {
             MessageBox.Show(MainWindow.Instance, "必须是01、02等数字编号形式");
             addDeviceClick(sender, e);
             return;
         }
         var device = new SunRizServer.Device();
         device.Name   = "DROP" + frm.Value;
         device.UnitId = this.Data.id;
         Helper.Remote.Invoke <int>("UpdateDevice", (ret, err) => {
             if (err != null)
             {
                 MessageBox.Show(MainWindow.Instance, err);
             }
             else
             {
                 device.id = ret;
                 device.ChangedProperties.Clear();
                 this.IsExpanded = true;
                 var node        = new DeviceNode(device);
                 node.ContextMenuItems.Add(new ContextMenuItem()
                 {
                     Text         = "重命名",
                     ClickHandler = editDeviceClick,
                     Tag          = node,
                 });
                 this.Nodes.Add(node);
             }
         }, device);
     }
 }