/// <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); } } } }
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); } }
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); } }
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); } }
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}"); } } }
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); } }
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); } }
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); } }