/// <summary> /// 新增或编辑传感器 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnOk_OnClick(object sender, RoutedEventArgs e) { if (GetControl()) { OperationResult result; if (_isInsert) { result = SensorApp.Insert(_sensor); message.Time = DateTime.Now; message.Messages = "新增传感器:" + _sensor.Name + " 类型:" + _sensor.Type + " 地址:" + _sensor.Address; } else { result = SensorApp.Update(_sensor); message.Time = DateTime.Now; message.Messages = "更改传感器:" + _sensor.Name + " 类型:" + _sensor.Type + " 地址:" + _sensor.Address; } if (result.ResultType != OperationResultType.Success) { MessageBox.Show(result.Message); return; } else { MessageApp.Insert(message); } DialogResult = true; } }
/// <summary> /// TreeView显示内容 /// </summary> private void InitTrees() { tvCoor.Items.Clear(); List <ES.Domain.Coordinator> coor = CoordinatorApp.GetList(); foreach (ES.Domain.Coordinator gtParent in coor) { TreeViewItem tvCoorParent = new TreeViewItem() { Header = gtParent.Name, Tag = gtParent }; tvCoor.Items.Add(tvCoorParent); //设置父节点 List <Sensor> childType = SensorApp.GetCoorList(gtParent); foreach (Sensor gtChild in childType) { TreeViewItem tvCoorChild = new TreeViewItem() { Header = gtChild.Name, Tag = gtChild }; tvCoorParent.Items.Add(tvCoorChild); //设置子节点 } } }
public UserControlinterface() { InitializeComponent(); cboRelay.ItemsSource = SensorApp.GetRelayList(); cboRelay.SelectedIndex = 0; cboCoor.ItemsSource = CoordinatorApp.GetList().OrderByDescending(p => p.ID); cboCoor.SelectedIndex = 0; }
/// <summary> /// 设置继电器器列表 /// </summary> private void SetListRelay() { lstRelay.Items.Clear(); foreach (ES.Domain.Sensor relay in SensorApp.GetRelayList()) { Label lbl = new Label(); lbl.Content = relay.Name + " " + "地址:" + Converts.ByteToString((byte)relay.Address); lbl.Tag = relay; lstRelay.Items.Add(lbl); } this.lstRelay.SelectedIndex = 0; }
/// <summary> /// 删除传感器 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnDeleteSebsor_OnClick(object sender, RoutedEventArgs e) { if (lstCoor.SelectedItem != null) { OperationResult result = null; ShowSensorData showSensorData = GetListviewSelected(); if (showSensorData != null) { if (MessageBox.Show("是否删除该项", "询问", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { Sensor sensor; sensor = SensorApp.GetList().Where(p => p.Name == showSensorData.Name).First(); result = SensorApp.Delete(sensor); Message message = new Message(); message.Time = DateTime.Now; message.Messages = "删除" + sensor.Coordinator.Name + "协调器下" + "传感器:" + sensor.Name + " 类型:" + sensor.Type + " 地址:" + sensor.Address; if (result.ResultType != OperationResultType.Success) { MessageBox.Show(result.Message); } else { MessageApp.Insert(message); _coordinator = GetListboxSelected(); lvSensorList.ItemsSource = ShowSensorData.ShowSensorDatasList(_coordinator); lblSensorCount.Content = "数量:" + lvSensorList.Items.Count; } } } else { MessageBox.Show("请选择要删除的传感器!"); } } }
/// <summary> /// 编辑传感器信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnUpdateSensor_OnClick(object sender, RoutedEventArgs e) { if (lstCoor.SelectedItem != null) { ShowSensorData showSensorData = GetListviewSelected(); if (showSensorData != null) { Sensor sensor; sensor = SensorApp.GetList().Where(p => p.Name == showSensorData.Name).First(); WindowSensorInfo windowSensorInfo = new WindowSensorInfo(sensor, false); if (windowSensorInfo.ShowDialog() == true) { _coordinator = GetListboxSelected(); lvSensorList.ItemsSource = ShowSensorData.ShowSensorDatasList(_coordinator); lblSensorCount.Content = "数量:" + lvSensorList.Items.Count; } } else { MessageBox.Show("请先选择编辑的传感器"); } } }
/// <summary> /// 获取传感器数据 /// </summary> /// <param name="sensor">传感器</param> private void GetSensorData(SensorBase sensor) { ShowSensorData showSensorData; _sensor = SensorApp.GetCoorList(_coordinator).Find(p => p.Type == sensor.Type && p.Address == sensor.Addr); OperationResult result; if (_sensor != null) { try { _sensorData.SensorID = _sensor.ID; _sensorData.Time = DateTime.Now; _sensorData.Data = sensor.GetData(); result = SensorDataApp.Insert(_sensorData); Message message = new Message(); message.Time = (DateTime)_sensorData.Time; message.Messages = "获取" + _sensor.Name + "数据:" + _sensorData.Data + " 状态:" + "已连接"; MessageApp.Insert(message); showSensorData = data.Where(p => p.Name == _sensor.Name).First(); showSensorData.Data = sensor.GetData(); showSensorData.State = "已连接"; showSensorData.Time = DateTime.Now.ToString(); } catch (Exception) { } } else { MessageBox.Show("传感器信息不符,请检查设备"); } }
/// <summary> /// 显示的数据 /// </summary> private void ShowData(SensorBase sensorBase, bool isStrike) { ShowInterface showInterface; if (isStrike == true) { sensor = SensorApp.GetCoorList(cboCoor.SelectedItem as ES.Domain.Coordinator) .Find(p => p.Type == sensorBase.Type && p.Address == sensorBase.Addr); //查找对应的传感器 if (sensor != null) { showInterface = showInterfaces.First(p => p.Name == sensor.Name); showInterface.Time = DateTime.Now.ToLongTimeString(); showInterface.State = "已连接"; showInterface.Strike = "已触发"; showInterfaces.ToBindingList(); OperationResult result = null; Message message = new Message(); message.Time = DateTime.Now; message.Messages = "检测:" + showInterface.Name + " " + showInterface.State + " " + showInterface.Strike + " 已开启警报"; result = MessageApp.Insert(message); if (result.ResultType != OperationResultType.Success) { MessageBox.Show(result.Message); return; } else { SetRelay(sensorBase); //设置警报的继电器 } } else { MessageBox.Show("请检查连接的设备是否正确"); } } else { sensor = SensorApp.GetCoorList(cboCoor.SelectedItem as ES.Domain.Coordinator) .Find(p => p.Type == sensorBase.Type && p.Address == sensorBase.Addr); //查找对应的传感器 if (sensor != null) { showInterface = showInterfaces.First(p => p.Name == sensor.Name); showInterface.Time = DateTime.Now.ToLongTimeString(); showInterface.State = "已连接"; showInterface.Strike = "未触发"; showInterfaces.ToBindingList(); OperationResult result = null; Message message = new Message(); message.Time = DateTime.Now; message.Messages = "检测:" + showInterface.Name + " " + showInterface.State + " " + showInterface.Strike; result = MessageApp.Insert(message); if (result.ResultType != OperationResultType.Success) { MessageBox.Show(result.Message); return; } } else { MessageBox.Show("请检查设备连接是否正确"); } } }