コード例 #1
0
 private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (this.listView1.SelectedItems.Count > 0)
     {
         //if (MessageBox.Show("是否删除该设备类型?") == DialogResult.OK)
         if (MessageBox.Show("确定要删除该设备类型吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             if (this.listView1.SelectedItems[0].Tag is DeviceType)
             {
                 var deviceType = this.listView1.SelectedItems[0].Tag as DeviceType;
                 var serialnum  = deviceType.Serialnum;
                 List <ControlDeviceUnit> controlDeviceUnitList =
                     ControlDeviceUnit.FindAllByDeviceTypeSerialnum(serialnum);
                 if (controlDeviceUnitList != null)
                 {
                     MessageBox.Show("该设备类型已经在使用,不能删除");
                     return;
                 }
                 DeviceType.Delete(deviceType);
                 this.InitDeviceTypeListView();
                 this.deviceTypeSerialnum = null;
             }
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// 初始化控制设备列表
        /// </summary>
        private void InitControlDeviceListView()
        {
            this.listView1.Items.Clear();
            var controlDeviceList = ControlDeviceUnit.FindAll().ToList();

            if (controlDeviceList.Count > 0 && controlDeviceList.Any())
            {
                foreach (var controlDevic in controlDeviceList)
                {
                    var strings = new string[]
                    {
                        controlDevic.Name,
                        controlDevic.ModularDeviceName,
                        controlDevic.DeviceTypeName,
                        controlDevic.RelayTypeRemark,
                        controlDevic.Function.ToString(),
                        controlDevic.RegisterAddress1.ToString(),
                        controlDevic.OriginalValue.ToString(),
                        controlDevic.ProcessedValue + "",
                        controlDevic.GroupNum.ToString(),
                        controlDevic.ControlJobTypeRemark
                    };
                    var listViewItem = new ListViewItem(strings);
                    listViewItem.Tag = controlDevic;
                    this.listView1.Items.Add(listViewItem);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// 初始化控制设备列表
        /// </summary>
        private void InitControlDeviceListView()
        {
            this.listView3.Items.Clear();
            List <ControlDeviceUnit> controlDeviceList = ControlDeviceUnit.FindAll();

            foreach (var controlDevice in controlDeviceList)
            {
                var strings      = new string[] { controlDevice.ModularDeviceName, controlDevice.Name };
                var listViewItem = new ListViewItem(strings);
                listViewItem.Tag = controlDevice;
                this.listView3.Items.Add(listViewItem);
            }
        }
コード例 #4
0
ファイル: MainFrm.cs プロジェクト: wwkkww1983/AhnqIot
        /// <summary>
        /// 获取节点属性
        /// </summary>
        /// <param name="id">
        /// </param>
        private void GetProperity(int id, string tag)
        {
            //this.advPropertyGrid1.SelectedObject = null;

            if (tag.Equals("SensorDeviceUnit"))
            {
                var s = SensorDeviceUnit.FindByID(id);
                s.ModularDevices = s.ModularDeviceName;
                s.Sensors        = s.SensorName;

                this.advPropertyGrid1.SelectedObject = Mapper.Map <SensorDeviceUnitDto>(s);
                selectObj = new Tuple <IEntity>(s);
                //var sensor = Sensor.FindByID(s.SensorId);
                //PropertyHandle.SetPropertyReadOnly(s,"Remark", true);
            }
            else if (tag.Equals("ControlDeviceUnit"))
            {
                var c = ControlDeviceUnit.FindByID(id);
                c.ModularDevices  = c.ModularDeviceName;
                c.DeviceTypes     = c.DeviceTypeName;
                c.ControlJobTypes = c.ControlJobTypeName;
                c.RelayTypes      = c.RelayTypeName;
                this.advPropertyGrid1.SelectedObject = Mapper.Map <ControlDeviceUnitDto>(c);
                selectObj = new Tuple <IEntity>(c);
            }
            else if (tag.Equals("Camera"))
            {
                var c = Camera.FindByID(id);
                this.advPropertyGrid1.SelectedObject = Mapper.Map <CameraDto>(c);
                selectObj = new Tuple <IEntity>(c);
            }
            else if (tag.Equals("ShowDevice"))
            {
                var sd = ShowDevice.FindByID(id);
                sd.ShowDeviceTypes    = sd.ShowDeviceTypeName;
                sd.CommunicateDevices = sd.CommunicateDeviceName;
                this.advPropertyGrid1.SelectedObject = Mapper.Map <ShowDeviceDto>(sd);;
                selectObj = new Tuple <IEntity>(sd);
            }

            else if (tag.Equals("Facility"))
            {
                var fac = Facility.FindByID(id);
                fac.Farms         = fac.FarmName;
                fac.FacilityTypes = fac.FacilityTypeName;
                this.advPropertyGrid1.SelectedObject = Mapper.Map <FacilityDto>(fac);;
                selectObj = new Tuple <IEntity>(fac);
            }
        }
コード例 #5
0
 private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (this.listView1.SelectedItems.Count > 0)
     {
         //if (MessageBox.Show("是否删除该控制设备?") == DialogResult.OK)
         if (MessageBox.Show("确定要删除该控制设备吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             if (this.listView1.SelectedItems[0].Tag is Sensor)
             {
                 var selectControlDeviceUnit = this.listView1.SelectedItems[0].Tag as ControlDeviceUnit;
                 //int id = selectControlDeviceUnit.ID;
                 //List<ShowDevice> showDeviceList = ShowDevice.FindAllByCommunicateDeviceID(id);
                 //if (showDeviceList != null)
                 //{
                 //    MessageBox.Show("该设备已经在使用,不能删除");
                 //    return;
                 //}
                 ControlDeviceUnit.Delete(selectControlDeviceUnit);
                 InitControlDeviceListView();
                 this.controlDeviceId = 0;
             }
         }
     }
 }
コード例 #6
0
ファイル: MainFrm.cs プロジェクト: wwkkww1983/AhnqIot
        private void advTreeData_DragDrop(object sender, DragEventArgs e)
        {
            //var item = e.Data.GetData(e.Data.GetFormats()[0]);
            if (status)
            {
                var location = this.advTreeData.PointToClient(new Point(e.X, e.Y));
                var node     = this.advTreeData.GetNodeAt(location.X, location.Y);

                if (node != null && node.Tag.Equals(parent))
                {
                    #region 采集设备
                    if (parent.Equals("SensorDeviceUnit"))
                    {
                        var device  = SensorDeviceUnit.FindByID(dragId);
                        var faciliy = node.Parent.Tag as Facility;
                        if (MessageBox.Show("确定要将该设备移动到该设施下吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            var dbList = FacilitySensorDeviceUnit.FindAllByFacilityIdAndCollectDeviceId(faciliy.ID,
                                                                                                        device.ID);

                            if (dbList == null || dbList.Count == 0)
                            {
                                var fas = new FacilitySensorDeviceUnit()
                                {
                                    FacilityID         = faciliy.ID,
                                    SensorDeviceUnitID = device.ID
                                };
                                fas.Code1 = fas.GetCode1();
                                int i = fas.Insert();
                                if (i != 0)
                                {
                                    FacilitySensorDeviceUnit.DeleteByFacilityAndSensorDeviceunit(facId, device.ID);//删除原有关系
                                }
                            }
                            else
                            {
                                var fas = dbList[0];
                                if (!(fas.Code1 + "").StartsWith(faciliy.Code1))
                                {
                                    fas.Code1 = fas.GetCode1();
                                    fas.Update();
                                }
                            }
                        }
                    }
                    #endregion

                    #region 控制设备
                    if (parent.Equals("ControlDeviceUnit"))
                    {
                        var device  = ControlDeviceUnit.FindByID(dragId);
                        var faciliy = node.Parent.Tag as Facility;
                        if (MessageBox.Show("确定要将该设备移动到该设施下吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            var dbList = FacilityControlDeviceUnit.FindAllByFacilityIdAndControlDeviceGroupNum(faciliy.ID,
                                                                                                               device.GroupNum);

                            if (dbList == null || dbList.Count == 0)
                            {
                                var fas = new FacilityControlDeviceUnit()
                                {
                                    FacilityID = faciliy.ID,
                                    ControlDeviceUnitGroupNum = device.GroupNum
                                };
                                fas.Code1 = fas.GetCode1();
                                int i = fas.Insert();
                                if (i != 0)
                                {
                                    FacilityControlDeviceUnit.DeleteByFacilityAndControlDeviceunGroupNum(facId, device.GroupNum);//删除原有关系
                                }
                            }
                            else
                            {
                                var fas = dbList[0];
                                if (!(fas.Code1 + "").StartsWith(faciliy.Code1))
                                {
                                    fas.Code1 = fas.GetCode1();
                                    fas.Update();
                                }
                            }
                            InitData();
                        }
                    }
                    #endregion

                    #region 视频设备
                    if (parent.Equals("Camera"))
                    {
                        var device  = Camera.FindByID(dragId);
                        var faciliy = node.Parent.Tag as Facility;
                        if (MessageBox.Show("确定要将该设备移动到该设施下吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            var dbList = FacilityCamera.FindAllByFacilityIdAndCameraId(faciliy.ID,
                                                                                       device.ID);

                            if (dbList == null || dbList.Count == 0)
                            {
                                var fas = new FacilityCamera()
                                {
                                    FacilityID = faciliy.ID,
                                    CameraID   = device.ID
                                };
                                fas.Code1 = fas.GetCode1();
                                int i = fas.Insert();
                                if (i != 0)
                                {
                                    FacilityCamera.GetDeviceByFacilityIdAndCameraId(facId, device.ID);//删除原有关系
                                }
                            }
                            else
                            {
                                var fas = dbList[0];
                                if (!(fas.Code1 + "").StartsWith(faciliy.Code1))
                                {
                                    fas.Code1 = fas.GetCode1();
                                    fas.Update();
                                }
                            }
                            InitData();
                        }
                    }
                    #endregion
                }
            }
            else
            {
                return;
            }
            InitData();
        }
コード例 #7
0
ファイル: MainFrm.cs プロジェクト: wwkkww1983/AhnqIot
        private void InitData()
        {
            var facs = Facility.FindAllByFarmID(_farmId);

            if (facs != null && facs.Count > 0)
            {
                foreach (var fac in facs)
                {
                    var facnode = new DevComponents.AdvTree.Node("设施")
                    {
                        ImageIndex = 0,
                        Tag        = fac,
                        //TagString="Facility",
                        Expanded = true,
                        Name     = fac.Name,
                        Text     = fac.Name
                    };
                    this.advTreeData.Nodes.AddRange(new DevComponents.AdvTree.Node[] { facnode });

                    var collectnode = new DevComponents.AdvTree.Node("采集设备")
                    {
                        ImageIndex = 1, Tag = "SensorDeviceUnit"
                    };
                    var collects = fac.FacilitySensorDeviceUnits;
                    if (collects != null && collects.Count > 0)
                    {
                        foreach (var c in collects)
                        {
                            var cnode = new DevComponents.AdvTree.Node
                            {
                                Expanded = true,
                                Name     = c.SensorDeviceUnit.Name,
                                Text     = c.SensorDeviceUnit.Name,
                                Tag      = c.SensorDeviceUnit,
                                //TagString = "SensorDeviceUnit"
                            };
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = c.SensorDeviceUnit.ProcessedValue.ToString(), Name = c.SensorDeviceUnit.ProcessedValue.ToString()
                            });
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = c.SensorDeviceUnit.Sensor.Unit, Name = c.SensorDeviceUnit.Sensor.Unit
                            });
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = c.SensorDeviceUnit.UpdateTime.ToString(), Name = c.SensorDeviceUnit.UpdateTime.ToString()
                            });
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = c.Code1, Name = c.Code1
                            });
                            collectnode.Nodes.Add(cnode);
                        }
                    }
                    facnode.Nodes.Add(collectnode);

                    var controlnode = new DevComponents.AdvTree.Node("控制设备")
                    {
                        ImageIndex = 2, Tag = "ControlDeviceUnit"
                    };
                    var fcontrols = fac.FacilityControlDeviceUnits;
                    if (fcontrols != null && fcontrols.Count > 0)
                    {
                        foreach (var fc in fcontrols)
                        {
                            ControlDeviceUnit.FindByGroupNum(fc.ControlDeviceUnitGroupNum).ForEach(control =>
                            {
                                var cnode = new DevComponents.AdvTree.Node
                                {
                                    Expanded = true,
                                    Name     = control.Name,
                                    Text     = control.Name,
                                    Tag      = control,
                                    //TagString = "ControlDeviceUnit"
                                };
                                cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                    Text = control.ProcessedValue.ToString(), Name = control.ProcessedValue.ToString()
                                });
                                cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                    Text = " ", Name = " "
                                });
                                cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                    Text = control.UpdateTime.ToString(), Name = control.UpdateTime.ToString()
                                });
                                cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                    Text = fc.Code1, Name = fc.Code1
                                });
                                controlnode.Nodes.Add(cnode);
                            });
                        }
                    }
                    facnode.Nodes.Add(controlnode);

                    var cameranode = new DevComponents.AdvTree.Node("视频设备")
                    {
                        ImageIndex = 3, Tag = "Camera"
                    };
                    var cameras = fac.FacilityCameras;
                    if (cameras != null && cameras.Count > 0)
                    {
                        foreach (var c in cameras)
                        {
                            var cnode = new DevComponents.AdvTree.Node
                            {
                                Expanded = true,
                                Name     = c.Camera.Name,
                                Text     = c.Camera.Name,
                                Tag      = c.Camera,
                                //TagString = "Camera"
                            };
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = "正常", Name = "正常"
                            });
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = "", Name = ""
                            });
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = c.UpdateTime.ToString(), Name = c.UpdateTime.ToString()
                            });
                            cnode.Cells.Add(new DevComponents.AdvTree.Cell {
                                Text = c.Code1, Name = c.Code1
                            });
                            cameranode.Nodes.Add(cnode);
                        }
                    }
                    facnode.Nodes.Add(cameranode);

                    var shownode = new DevComponents.AdvTree.Node("展示设备")
                    {
                        ImageIndex = 4, Tag = "ShowDevice"
                    };
                    var shows = ShowDevice.FindAll();
                    if (shows != null && shows.Count > 0)
                    {
                        foreach (var s in shows)
                        {
                            var cnode = new DevComponents.AdvTree.Node
                            {
                                Expanded = true,
                                Name     = s.Name,
                                Text     = s.Name,
                                Tag      = s,
                                //TagString = "ShowDevice"
                            };
                            shownode.Nodes.Add(cnode);
                        }
                    }
                    facnode.Nodes.Add(shownode);
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// 获取控制指令
        /// </summary>
        private List <DeviceControlCommand> GetControlCommand()
        {
            var controlDevices = ControlDeviceUnit.FindAllWithCache().ToList();

            if (!controlDevices.Any() && controlDevices == null)
            {
                return(null);
            }
            //查询出Code1不为空的基地
            var farms       = Farm.FindAll().ToList().Where(f => !f.Code1.IsNullOrWhiteSpace());
            var devCommands = new List <DeviceControlCommand>();
            //校验所有编码
            var enumerable = farms as Farm[] ?? farms.ToArray();

            if (!CheckCode(enumerable))
            {
                return(null);
            }
            enumerable.ToList().ForEach(farm =>
            {
                //本地数据库中的设施
                var facilitysInDb = farm.Facilitys;
                ////从接口获存在的设施
                //var facs_platform = GetPlatformFacilitys(farm);
                if (facilitysInDb.Count > 0)
                {
                    facilitysInDb.ToList().ForEach(fInDb =>
                    {
                        var entity = AwEntityHelper.GetEntity(farm.Code1);
#if DEBUG
                        var sw           = new Stopwatch();
                        var accessResult = false;
                        sw.Start();
#endif
                        var cmds = _facilityApi.GetControlCommand(entity, _transport, fInDb.Code1);

                        var controlCmds = cmds as IList <ControlCmd> ?? cmds.ToList();
                        if (controlCmds.Any())
                        {
                            accessResult = true;
                            controlCmds.ToList().ForEach(cmdDb =>
                            {
                                var devCommand = new DeviceControlCommand
                                {
                                    Code1                     = cmdDb.Serialnum,
                                    Command                   = cmdDb.Command.ToString(),
                                    ControlContinueTime       = cmdDb.ContinueTime,
                                    CreateTime                = DateTime.Now,
                                    ControlDeviceUnitGroupNum =
                                        FacilityControlDeviceUnit.FindAllByCode1(cmdDb.DeviceCode)[0]
                                        .ControlDeviceUnitGroupNum
                                };
                                devCommand.Save(); //保存到本地数据库
                                devCommands.Add(devCommand);
                            });
                        }
                        else
                        {
                            accessResult = false;
                            //Debugger.Break();
                        }
                        LogHelper.Debug("{0}获取控制指令{1}条", fInDb.Name, controlCmds.Count());
#if DEBUG
                        sw.Stop();
                        var apiAccesslog = new ApiAccessLog
                        {
                            ApiName    = "获取控制指令",
                            Result     = accessResult,
                            CreateTime = DateTime.Now,
                            CostTime   = Convert.ToInt32(sw.ElapsedMilliseconds)
                        };
                        apiAccesslog.Save();
                        LogHelper.Debug("获取控制指令花费的时间:{0}", sw.ElapsedMilliseconds.ToString());
#endif
                    });
                }
            });
            if (!devCommands.Any())
            {
                return(devCommands);
            }
            var sw1 = new Stopwatch();
            sw1.Start();
            devCommands.ForEach(cmd =>
            {
                LogHelper.Debug("正在执行控制指令");
                Control(
                    FacilityControlDeviceUnit.FindAllByControlDeviceUnitGroupNum(cmd.ControlDeviceUnitGroupNum)[0]
                    .ControlDeviceUnitGroupNum, Convert.ToInt32(cmd.Command));
                Thread.Sleep(50);
            });
            sw1.Stop();
            LogHelper.Debug("执行所有控制指令花费的时间:{0}", sw1.ElapsedMilliseconds.ToString());
            return(devCommands);
        }
コード例 #9
0
        /// <summary>
        /// 控制设备
        /// </summary>
        /// <param name="deviceId">控制设备ID</param>
        /// <param name="status">设备状态</param>
        private void Control(int deviceId, int status)
        {
            const bool result = false;
            List <FacilityControlDeviceUnit> fac = FacilityControlDeviceUnit.FindAllByControlDeviceUnitGroupNum(deviceId);

            if (fac == null || !fac.Any())
            {
                return;
            }
            var device = ControlDeviceUnit.FindByID(deviceId);

            if (device == null)
            {
                return;
            }
            string            reason = null;
            TransportTypeEnum type;

            if (
                !Enum.TryParse(device.ModularDevice.CommunicateDevice.CommunicateDeviceTypeName,
                               true, out type))
            {
                type = TransportTypeEnum.Unknow;
            }
            var host    = device.ModularDevice.CommunicateDevice.Args1;
            var e       = Convert.ToInt32(device.ModularDevice.CommunicateDevice.Args2);
            var timeout = Convert.ToInt32(device.ModularDevice.CommunicateDevice.Args3);
            //获取Transport
            var transport           = TransportFactory.GetTransport(type, host, e, timeout);
            var modbusControlDevice = new ModbusControlDevice(transport,
                                                              Convert.ToByte(device.ModularDevice.Address));

            try
            {
                //待编写控制指令

                //if (device.IsComposite) //三态设备  正转  反转  停止
                //{
                //    if (status == -1)
                //    {
                //        result = modbusControlDevice.Write(device.RegisterAddress1, true);
                //    }
                //    else if (status == 0)
                //    {
                //        result = modbusControlDevice.Write(device.RegisterAddress1, false);
                //        result = modbusControlDevice.Write(device.RegisterAddress2, false);
                //    }
                //    else if (status == 1)
                //    {
                //        result = modbusControlDevice.Write(device.RegisterAddress2, true);
                //    }
                //}
                //else //两态设备 开 关
                //{
                //    result = modbusControlDevice.Write(device.RegisterAddress1, status == 1 ? true : false);
                //}
            }
            catch (Exception ex)
            {
                reason = ex.ToString();
            }
            LogHelper.Debug("指令执行" + (result ? "成功" : "失败"));

            DeviceControlCommand.FindAllByControlDeviceUnitID(deviceId).ToList().ForEach(deviceControlCommand =>
            {
                var controlResult = new ControlResult
                {
                    Serialnum = deviceControlCommand.Code1,
                    //Command = status,
                    //FacilityCode = fac[0].Facility.Code1,
                    //DeviceCode = fac[0].Code1,
                    //ContinueTime = 5,
                    Time       = DateTime.Now,
                    Result     = result,
                    FailReason = reason
                };
                var devControlLog = new DeviceControlLog
                {
                    Code1 = deviceControlCommand.Code1,
                    ControlDeviceUnitID    = deviceControlCommand.ControlDeviceUnitGroupNum,
                    ControlResult          = result,
                    CreateTime             = DateTime.Now,
                    DeviceControlCommand   = deviceControlCommand,
                    DeviceControlCommandID = deviceControlCommand.ID,
                    DeviceValue            = Convert.ToInt32(CalcControlDeviceValue.CalcProcessValue(fac[0])),
                    ShowValue  = CalcControlDeviceValue.CalcOriginal(fac[0]).ToString(),
                    FailReason = reason
                };
                devControlLog.Save();
                UploadControlCommand(controlResult, fac[0].Facility); //上传控制指令
                Thread.Sleep(50);
            });
        }
コード例 #10
0
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listView1.SelectedItems.Count > 0)
            {
                if (this.listView1.SelectedItems[0].Tag is ModularDevice)
                {
                    //this.txtId.Text = (this.listView1.SelectedItems[0].Tag as ModularDevice).ID.ToString();
                    modularDeviceId               = (this.listView1.SelectedItems[0].Tag as ModularDevice).ID;
                    this.txtName.Text             = this.listView1.SelectedItems[0].SubItems[1].Text;
                    this.cbProtocalType.Text      = this.listView1.SelectedItems[0].SubItems[2].Text;
                    this.cbCommunicateDevice.Text = this.listView1.SelectedItems[0].SubItems[3].Text;
                    this.txtAddress.Text          = this.listView1.SelectedItems[0].SubItems[4].Text;
                    //this.cbOnlineStatus.Text = this.listView1.SelectedItems[0].SubItems[5].Text;
                    this.rbtOnlineStatus.Checked = Convert.ToBoolean(this.listView1.SelectedItems[0].SubItems[5].Text);
                    //if (this.rbtOnlineStatus.Checked == true)
                    //{
                    //    this.rbtOnlineStatus1.Checked = false;
                    //}
                    //else
                    //{
                    //    this.rbtOnlineStatus1.Checked = true;
                    //}
                    this.txtException.Text = this.listView1.SelectedItems[0].SubItems[6].Text;
                    //this.txtRemark.Text = this.listView1.SelectedItems[0].SubItems[7].Text;

                    //采集设备列表的改变事件
                    List <SensorDeviceUnit> collectDeviceLsit =
                        SensorDeviceUnit.FindAllByModularDeviceID(
                            (this.listView1.SelectedItems[0].Tag as ModularDevice).ID);

                    if (collectDeviceLsit == null || collectDeviceLsit.Count == 0)
                    {
                        foreach (ListViewItem item in this.lstCollectDevice.Items)
                        {
                            item.Checked = false;
                        }

                        //return;
                    }
                    else
                    {
                        foreach (ListViewItem item in this.lstCollectDevice.Items)
                        {
                            var isExists = false;
                            foreach (var collectDevice in collectDeviceLsit)
                            {
                                var sD = item.Tag as SensorDeviceUnit;
                                if (sD != null)
                                {
                                    if (sD.ID == collectDevice.ID)
                                    {
                                        isExists = true;
                                    }
                                }
                            }

                            item.Checked = isExists;
                        }
                    }

                    //控制设备列表的改变事件
                    List <ControlDeviceUnit> controlDeviceLsit =
                        ControlDeviceUnit.FindAllByModularDeviceID(
                            (this.listView1.SelectedItems[0].Tag as ModularDevice).ID);

                    if (controlDeviceLsit == null || controlDeviceLsit.Count == 0)
                    {
                        foreach (ListViewItem item in this.lstControlDevice.Items)
                        {
                            item.Checked = false;
                        }

                        //return;
                    }
                    else
                    {
                        foreach (ListViewItem item in this.lstControlDevice.Items)
                        {
                            var isExists = false;
                            var cD       = item.Tag as ControlDeviceUnit;
                            foreach (var controlDevice in controlDeviceLsit)
                            {
                                if (cD != null)
                                {
                                    if (cD.ID == controlDevice.ID)
                                    {
                                        isExists = true;
                                    }
                                }
                            }

                            item.Checked = isExists;
                        }
                    }
                }
            }
        }
コード例 #11
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (this.txtName.Text.Trim().IsNullOrWhiteSpace())
            {
                MessageBox.Show("名称不能为空,请输入");
                this.txtName.Focus();
                return;
            }

            //if (ModularDevice.FindAllByName(this.txtName.Text, Name, Name, 0, 0) != null)
            //{
            //    MessageBox.Show("名称已经存在");
            //    this.txtName.Focus();
            //    return;
            //}

            #region 获取所有选中的设备

            //List<SensorDeviceUnit> sensorDeviceUnitList = (from item in this.lstCollectDevice.Items.Cast<ListViewItem>() where item.Checked select item.Tag as SensorDeviceUnit).ToList();//采集设备
            var sensorDeviceUnitList  = new List <SensorDeviceUnit>();
            var sensorDeviceUnitList1 = new List <SensorDeviceUnit>();
            foreach (ListViewItem item in this.lstCollectDevice.Items)
            {
                if (item.Checked == false)
                {
                    var sensorDeviceUnit = item.Tag as SensorDeviceUnit; //未选中的采集设备
                    sensorDeviceUnitList1.Add(sensorDeviceUnit);
                }
                else
                {
                    sensorDeviceUnitList =
                        (from i in this.lstCollectDevice.Items.Cast <ListViewItem>()
                         where i.Checked
                         select i.Tag as SensorDeviceUnit).ToList();    //选中的采集设备
                }
            }

            //List<ControlDeviceUnit> controlDeviceUnitList = (from item in this.lstControlDevice.Items.Cast<ListViewItem>() where item.Checked select item.Tag as ControlDeviceUnit).ToList();//控制设备

            var controlDeviceUnitList  = new List <ControlDeviceUnit>();
            var controlDeviceUnitList1 = new List <ControlDeviceUnit>();
            foreach (ListViewItem item in this.lstControlDevice.Items)
            {
                if (item.Checked == false)
                {
                    var controlDeviceUnit = item.Tag as ControlDeviceUnit; //未选中的控制设备
                    controlDeviceUnitList1.Add(controlDeviceUnit);
                }
                else
                {
                    controlDeviceUnitList =
                        (from i in this.lstControlDevice.Items.Cast <ListViewItem>()
                         where i.Checked
                         select i.Tag as ControlDeviceUnit).ToList();    //选中的控制设备
                }
            }

            #endregion 获取所有选中的设备

            if (this.modularDeviceId != 0)
            {
                try
                {
                    // 更新
                    var modularDevice = new ModularDevice
                    {
                        ID                  = this.modularDeviceId,
                        Name                = this.txtName.Text.Trim(),
                        ProtocalTypeID      = Convert.ToInt32(this.cbProtocalType.SelectedValue),
                        CommunicateDeviceID = Convert.ToInt32(this.cbCommunicateDevice.SelectedValue),
                        Address             = this.txtAddress.Text,
                        //OnlineStatus = Convert.ToBoolean(this.cbOnlineStatus.SelectedValue),
                        OnlineStatus = this.rbtOnlineStatus.Checked,
                        Exception    = this.txtException.Text,
                        //Remark = this.txtRemark.Text.Trim()
                    };
                    ModularDevice.Update(modularDevice);

                    //更新采集设备
                    foreach (var item in sensorDeviceUnitList)
                    {
                        var sensorUnit = new SensorDeviceUnit();
                        sensorUnit.ID = item.ID;
                        sensorUnit.ModularDeviceID = this.modularDeviceId;
                        sensorUnit.Update();
                    }
                    //foreach (var item in sensorDeviceUnitList1)
                    //{
                    //    item.ModularDeviceID = this.modularDeviceId;
                    //    SensorDeviceUnit.Delete(item);
                    //}
                    this.InitCollectDeviceListView();

                    //更新控制设备
                    foreach (var item in controlDeviceUnitList)
                    {
                        var controlUnit = new ControlDeviceUnit();
                        controlUnit.ID = item.ID;
                        controlUnit.ModularDeviceID = this.modularDeviceId;
                        controlUnit.Update();
                    }
                    //foreach (var item in controlDeviceUnitList1)
                    //{
                    //    item.ModularDeviceID = this.modularDeviceId;
                    //    ControlDeviceUnit.Delete(item);
                    //}
                    this.InitControlDeviceListView();
                    MessageBox.Show("更新成功");
                }
                catch (Exception ex)
                {
                    XTrace.WriteException(ex);
                    MessageBox.Show("更新失败");
                }
            }
            else
            {
                try
                {
                    // 保存
                    var modularDevice = new ModularDevice
                    {
                        Name                = this.txtName.Text.Trim(),
                        ProtocalTypeID      = Convert.ToInt32(this.cbProtocalType.SelectedValue),
                        CommunicateDeviceID = Convert.ToInt32(this.cbCommunicateDevice.SelectedValue),
                        Address             = this.txtAddress.Text,
                        //OnlineStatus = Convert.ToBoolean(this.cbOnlineStatus.SelectedValue),
                        OnlineStatus = this.rbtOnlineStatus.Checked,
                        Exception    = this.txtException.Text,
                        //Remark = this.txtRemark.Text.Trim()
                    };
                    ModularDevice.Save(modularDevice);

                    ////保存采集设备
                    //foreach (var item in sensorDeviceUnitList)
                    //{
                    //    item.ModularDeviceID = this.modularDeviceId;
                    //    SensorDeviceUnit.Save(item);
                    //}
                    this.InitCollectDeviceListView();

                    ////保存控制设备
                    //foreach (var item in controlDeviceUnitList)
                    //{
                    //    item.ModularDeviceID = this.modularDeviceId;
                    //    ControlDeviceUnit.Save(item);
                    //}
                    this.InitControlDeviceListView();
                    MessageBox.Show("保存成功");
                }
                catch (Exception ex)
                {
                    XTrace.WriteException(ex);
                    MessageBox.Show("保存失败");
                }
            }

            this.InitModularDeviceListView();
        }
コード例 #12
0
        /// <summary>
        /// The list view 1 selected index changed.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The e.
        /// </param>
        private void ListView1SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listView1.SelectedItems.Count > 0)
            {
                if (this.listView1.SelectedItems[0].Tag is Facility)
                {
                    //this.txtId.Text = (this.listView1.SelectedItems[0].Tag as Facility).ID.ToString();
                    facilityId                = (this.listView1.SelectedItems[0].Tag as Facility).ID;
                    this.txtName.Text         = this.listView1.SelectedItems[0].SubItems[1].Text;
                    this.txtCode1.Text        = this.listView1.SelectedItems[0].SubItems[2].Text;
                    this.txtCode2.Text        = this.listView1.SelectedItems[0].SubItems[3].Text;
                    this.txtCode3.Text        = this.listView1.SelectedItems[0].SubItems[4].Text;
                    this.cbFacilityType.Text  = this.listView1.SelectedItems[0].SubItems[5].Text;
                    this.cbFarm.Text          = this.listView1.SelectedItems[0].SubItems[6].Text;
                    this.txtContactPhone.Text = this.listView1.SelectedItems[0].SubItems[7].Text;
                    //this.dtCreateTime.Value = Convert.ToDateTime(this.listView1.SelectedItems[0].SubItems[8].Text);
                    //this.txtUpdateTime.Text = this.listView1.SelectedItems[0].SubItems[9].Text;
                    //this.cbUpLoad.Text = this.listView1.SelectedItems[0].SubItems[10].Text;
                    //this.rbtUpLoad.Checked = Convert.ToBoolean(this.listView1.SelectedItems[0].SubItems[10].Text);
                    //if (this.rbtUpLoad.Checked == true)
                    //{
                    //    this.rbtUpLoad1.Checked = false;
                    //}
                    //else
                    //{
                    //    this.rbtUpLoad1.Checked = true;
                    //}
                    //this.txtVersion.Text = this.listView1.SelectedItems[0].SubItems[11].Text;
                    //this.cbStatus.Text = this.listView1.SelectedItems[0].SubItems[12].Text;
                    this.rbtOnlineStatus.Checked = Convert.ToBoolean(this.listView1.SelectedItems[0].SubItems[12].Text);
                    //if (this.rbtOnlineStatus.Checked == true)
                    //{
                    //    this.rbtOnlineStatus1.Checked = false;
                    //}
                    //else
                    //{
                    //    this.rbtOnlineStatus1.Checked = true;
                    //}
                    this.txtAddress.Text       = this.listView1.SelectedItems[0].SubItems[13].Text;
                    this.txtIntroduce.Text     = this.listView1.SelectedItems[0].SubItems[14].Text;
                    this.txtContactMan.Text    = this.listView1.SelectedItems[0].SubItems[15].Text;
                    this.txtContactMobile.Text = this.listView1.SelectedItems[0].SubItems[16].Text;
                    //this.txtRemark.Text = this.listView1.SelectedItems[0].SubItems[17].Text;
                    //this.pbPhotoUrl.Text = this.listView1.SelectedItems[0].SubItems[18].Text;

                    #region 采集设备列表的改变事件

                    List <FacilitySensorDeviceUnit> facilitySensorDeviceUnitList =
                        (this.listView1.SelectedItems[0].Tag as Facility).FacilitySensorDeviceUnits;
                    //获取该设施所拥有的所有采集设备的集合
                    var collectionDeviceList = new List <SensorDeviceUnit>();
                    foreach (var fac in facilitySensorDeviceUnitList)
                    {
                        var collectionDevice = SensorDeviceUnit.FindByID(fac.SensorDeviceUnitID);
                        collectionDeviceList.Add(collectionDevice);
                    }

                    if (collectionDeviceList == null || collectionDeviceList.Count == 0)
                    {
                        foreach (ListViewItem item in this.listView2.Items)
                        {
                            item.Checked = false;
                        }

                        //return;
                    }
                    else
                    {
                        foreach (ListViewItem item in this.listView2.Items)
                        {
                            var isExists = false;
                            foreach (var collectDevice in collectionDeviceList)
                            {
                                var sDevice = item.Tag as SensorDeviceUnit;
                                if (sDevice != null)
                                {
                                    if (sDevice.ID == collectDevice.ID)
                                    {
                                        isExists = true;
                                    }
                                }
                            }

                            item.Checked = isExists;
                        }
                    }

                    #endregion 采集设备列表的改变事件

                    #region 控制设备列表的改变事件

                    List <FacilityControlDeviceUnit> facilityControlDeviceUnitList =
                        (this.listView1.SelectedItems[0].Tag as Facility).FacilityControlDeviceUnits;
                    //获取该设施所拥有的所有控制设备的集合
                    var controlDeviceList = new List <ControlDeviceUnit>();
                    foreach (var fas in facilityControlDeviceUnitList)
                    {
                        var controlDevices = ControlDeviceUnit.FindByGroupNum(fas.ControlDeviceUnitGroupNum);
                        controlDeviceList.AddRange(controlDevices);
                    }
                    if (controlDeviceList == null || controlDeviceList.Count == 0)
                    {
                        foreach (ListViewItem item in this.listView3.Items)
                        {
                            item.Checked = false;
                        }
                    }
                    else
                    {
                        foreach (ListViewItem item in this.listView3.Items)
                        {
                            var isExists = false;
                            foreach (var controlDevice in controlDeviceList)
                            {
                                var cDevice = item.Tag as ControlDeviceUnit;
                                if (cDevice != null)
                                {
                                    if (cDevice.ID == controlDevice.ID)
                                    {
                                        isExists = true;
                                    }
                                }
                            }

                            item.Checked = isExists;
                        }
                    }

                    #endregion 控制设备列表的改变事件

                    #region 摄像机设备列表的改变事件

                    //List<FacilityCamera> facilityCameraList = FacilityCamera.FindAllByFacilityID((this.listView1.SelectedItems[0].Tag as Facility).ID);

                    List <FacilityCamera> facilityCameraList =
                        (this.listView1.SelectedItems[0].Tag as Facility).FacilityCameras; //获取该设施所拥有的所有摄像机设备的集合
                    var cameraList = new List <Camera>();
                    foreach (var fc in facilityCameraList)
                    {
                        var camera = Camera.FindByID(fc.CameraID);
                        cameraList.Add(camera);
                    }
                    if (cameraList == null || cameraList.Count == 0)
                    {
                        foreach (ListViewItem item in this.listView4.Items)
                        {
                            item.Checked = false;
                        }

                        //return;
                    }

                    foreach (ListViewItem item in this.listView4.Items)
                    {
                        var isExists = false;
                        foreach (var facilityCamera in cameraList)
                        {
                            var c = item.Tag as Camera;
                            if (c != null)
                            {
                                if (c.ID == facilityCamera.ID)
                                {
                                    isExists = true;
                                }
                            }
                        }

                        item.Checked = isExists;
                    }

                    #endregion 摄像机设备列表的改变事件
                }
            }
        }
コード例 #13
0
ファイル: FrmMain.cs プロジェクト: wwkkww1983/AhnqIot
        /// <summary>
        /// 加载树结构
        /// </summary>
        private void InitTreeView()
        {
            this.treeView1.Nodes.Clear();

            // 获取所有的设施列表
            List <Facility> facilityList = Facility.FindAll();

            if (facilityList.Count > 0 && facilityList.Any())
            {
                var firstNode = new TreeNode(facilityList[0].FarmName)
                {
                    Tag = "FisrtPag"
                };
                this.treeView1.Nodes.Add(firstNode);

                foreach (var facility in facilityList)
                {
                    var allnode = new TreeNode(facility.Name)
                    {
                        ImageIndex = 0, Tag = facility
                    };

                    //采集设备
                    var collectnode = new TreeNode("采集设备")
                    {
                        ImageIndex = 1, Tag = "SensorDeviceUnit"
                    };
                    List <FacilitySensorDeviceUnit> sensorDeviceUnitList =
                        FacilitySensorDeviceUnit.FindAllByFacilityID(facility.ID);
                    if (sensorDeviceUnitList == null)
                    {
                        return;
                    }

                    foreach (var sensorDeviceUnit in sensorDeviceUnitList)
                    {
                        var treeNode =
                            new TreeNode(SensorDeviceUnit.FindByID(sensorDeviceUnit.SensorDeviceUnitID).Name.ToString());
                        treeNode.Tag = sensorDeviceUnit;
                        collectnode.Nodes.Add(treeNode);
                    }
                    allnode.Nodes.Add(collectnode);

                    //控制设备
                    var controlnode = new TreeNode("控制设备")
                    {
                        ImageIndex = 1, Tag = "ControlDeviceUnit"
                    };
                    List <FacilityControlDeviceUnit> controlDeviceUnitList =
                        FacilityControlDeviceUnit.FindAllByFacilityID(facility.ID);
                    if (controlDeviceUnitList == null)
                    {
                        return;
                    }
                    foreach (var controlDeviceUnit in controlDeviceUnitList)
                    {
                        var treeNode =
                            new TreeNode(
                                ControlDeviceUnit.FindByGroupNum(controlDeviceUnit.ControlDeviceUnitGroupNum)[0].Name
                                .ToString());
                        treeNode.Tag = controlDeviceUnit;
                        controlnode.Nodes.Add(treeNode);
                    }
                    allnode.Nodes.Add(controlnode);

                    ////摄像机设备
                    //var cameranode = new TreeNode("摄像机设备") { ImageIndex = 1, Tag = "facilityCamera" };
                    //List<FacilityCamera> cameraList = FacilityCamera.FindAllByFacilityID(facility.ID);
                    //if (cameraList == null)
                    //{
                    //    return;
                    //}

                    //foreach (FacilityCamera facilityCamera in cameraList)
                    //{
                    //    var treeNode = new TreeNode(facilityCamera.CameraName);
                    //    treeNode.Tag = facilityCamera;
                    //    cameranode.Nodes.Add(treeNode);
                    //}
                    //allnode.Nodes.Add(cameranode);

                    ////展示设备
                    //var showDevicenode = new TreeNode("显示设备") { ImageIndex = 1, Tag = "showDevice" };
                    //List<ShowDevice> showDeviceList = ShowDevice.FindAll();
                    //if (showDeviceList == null)
                    //{
                    //    return;
                    //}

                    //foreach (ShowDevice showDevice in showDeviceList)
                    //{
                    //    var treeNode = new TreeNode(showDevice.Name);
                    //    treeNode.Tag = showDevice;
                    //    showDevicenode.Nodes.Add(treeNode);
                    //}
                    //allnode.Nodes.Add(showDevicenode);
                    this.treeView1.Nodes.Add(allnode);
                }

                this.treeView1.ExpandAll();
            }
        }
コード例 #14
0
ファイル: FrmMain.cs プロジェクト: wwkkww1983/AhnqIot
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="id">
        /// </param>
        private void SearchDataInfo(int id, string tag)
        {
            this.listView1.Items.Clear();

            if (tag.EqualIgnoreCase("SensorDeviceUnit"))
            {
                string data;
                var    fs = FacilitySensorDeviceUnit.FindByID(id);
                if (fs.SensorDeviceUnit.Sensor.Code.EqualIgnoreCase("collect-weather-YuXueGanZhi"))
                {
                    data = fs.SensorDeviceUnit.ProcessedValue == 1 ? "有" : "无";
                }
                else
                {
                    data = fs.SensorDeviceUnit.ProcessedValue.ToString();
                }

                var strings = new[]
                {
                    fs.Code1, fs.SensorDeviceUnit.Name, data, fs.SensorDeviceUnit.Sensor.Unit,
                    fs.SensorDeviceUnit.UpdateTime.ToString()
                };
                var listViewItem = new ListViewItem(strings);
                this.listView1.Items.Add(listViewItem);
            }
            else if (tag.EqualIgnoreCase("ControlDeviceUnit"))
            {
                string data;
                var    controlList = ControlDeviceUnit.FindByGroupNum(id);
                if (controlList.Count > 0)
                {
                    controlList.ForEach(c =>
                    {
                        data        = c.ProcessedValue;
                        var strings = new[]
                        { c.FacilityControlDeviceUnits[0].Code1, c.Name, data, "", c.UpdateTime.ToString() };
                        var listViewItem = new ListViewItem(strings);
                        this.listView1.Items.Add(listViewItem);
                    });
                }
            }

            var    fsList = FacilitySensorDeviceUnit.FindAllByFacilityID(id);
            var    fcList = FacilityControlDeviceUnit.FindAllByFacilityID(id);
            string data1;

            if (fsList.Count > 0)
            {
                fsList.ForEach(
                    fs =>
                {
                    if (fs.SensorDeviceUnit.Sensor.Code.EqualIgnoreCase("collect-weather-YuXueGanZhi"))
                    {
                        data1 = fs.SensorDeviceUnit.ProcessedValue == 1 ? "有" : "无";
                    }
                    else
                    {
                        data1 = fs.SensorDeviceUnit.ProcessedValue.ToString();
                    }

                    var strings = new[]
                    {
                        fs.Code1, fs.SensorDeviceUnit.Name, data1, fs.SensorDeviceUnit.Sensor.Unit,
                        fs.SensorDeviceUnit.UpdateTime.ToString()
                    };
                    var listViewItem = new ListViewItem(strings);
                    this.listView1.Items.Add(listViewItem);
                });
            }
            if (fcList.Count > 0)
            {
                fcList.ForEach(fc =>
                {
                    var controls = ControlDeviceUnit.FindByGroupNum(fc.ControlDeviceUnitGroupNum);
                    controls.ForEach(control =>
                    {
                        data1            = control.ProcessedValue;
                        var strings      = new[] { fc.Code1, control.Name, data1, "", control.UpdateTime.ToString() };
                        var listViewItem = new ListViewItem(strings);
                        this.listView1.Items.Add(listViewItem);
                    });
                });
            }
        }
コード例 #15
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (this.txtName.Text.Trim().IsNullOrWhiteSpace())
            {
                MessageBox.Show("名称不能为空,请输入");
                this.txtName.Focus();
                return;
            }

            //if (this.cbModularDevice.DisplayMember==null)
            //{
            //    MessageBox.Show("模块化设备不能为空,请输入");
            //    this.cbModularDevice.Focus();
            //    return;
            //}
            //if (this.cbDeviceType.DisplayMember == null)
            //{
            //    MessageBox.Show("设备类型不能为空,请输入");
            //    this.cbDeviceType.Focus();
            //    return;
            //}

            //if (this.txtFunction.Text == null)
            //{
            //    MessageBox.Show("功能码不能为空");
            //    this.txtFunction.Focus();
            //    return;
            //}
            if (this.controlDeviceId != 0)
            {
                try
                {
                    // 更新
                    var cntrolDevice = new ControlDeviceUnit
                    {
                        ID                  = this.controlDeviceId,
                        Name                = this.txtName.Text.Trim(),
                        ModularDeviceID     = Convert.ToInt32(this.cbModularDevice.SelectedValue),
                        DeviceTypeSerialnum = this.cbDeviceType.SelectedValue.ToString(),
                        RelayTypeId         = Convert.ToInt32(this.cbRelay.SelectedValue.ToString()),
                        Function            = Convert.ToInt32(this.txtFunction.Text.Trim()),
                        OriginalValue       = Convert.ToInt32(this.txtOriginalValue.Text.Trim()),
                        RegisterAddress1    = Convert.ToInt32(txtAddr1.Text.Trim()),
                        ProcessedValue      = this.txtProccessedValue.Text.Trim(),
                        UpdateTime          = DateTime.Now,
                        GroupNum            = Convert.ToInt32(this.txtGroup.Text.Trim()),
                        ControlJobTypeId    = Convert.ToInt32(this.cbJob.SelectedValue.ToString())
                    };

                    //if (cntrolDevice.IsComposite)
                    //{
                    //    cntrolDevice.RegisterAddress2 = Convert.ToInt32(txtAddr2.Text.Trim());
                    //    cntrolDevice.RegisterAddress2Name = "结束地址";
                    //}
                    //else
                    //{
                    //    cntrolDevice.RegisterAddress2 = -1;
                    //    cntrolDevice.RegisterAddress2Name = "关";
                    //}

                    ControlDeviceUnit.Update(cntrolDevice);
                    MessageBox.Show("更新成功");
                }
                catch (Exception ex)
                {
                    XTrace.WriteException(ex);
                    MessageBox.Show("更新失败");
                }
            }
            else
            {
                try
                {
                    // 保存
                    var cntrolDevice = new ControlDeviceUnit
                    {
                        //ID = this.collectDeviceId,
                        Name                = this.txtName.Text.Trim(),
                        ModularDeviceID     = Convert.ToInt32(this.cbModularDevice.SelectedValue),
                        DeviceTypeSerialnum = this.cbDeviceType.SelectedValue.ToString(),
                        RelayTypeId         = Convert.ToInt32(this.cbRelay.SelectedValue.ToString()),
                        Function            = Convert.ToInt32(this.txtFunction.Text.Trim()),
                        OriginalValue       = Convert.ToInt32(this.txtOriginalValue.Text.Trim()),
                        RegisterAddress1    = Convert.ToInt32(txtAddr1.Text.Trim()),
                        ProcessedValue      = this.txtProccessedValue.Text.Trim(),
                        UpdateTime          = DateTime.Now,
                        GroupNum            = Convert.ToInt32(this.txtGroup.Text.Trim()),
                        ControlJobTypeId    = Convert.ToInt32(this.cbJob.SelectedValue.ToString())
                    };

                    //if (cntrolDevice.IsComposite)
                    //{
                    //    cntrolDevice.RegisterAddress2 = Convert.ToInt32(txtAddr2.Text.Trim());
                    //    cntrolDevice.RegisterAddress2Name = "结束地址";
                    //}
                    //else
                    //{
                    //    cntrolDevice.RegisterAddress2 = -1;
                    //    cntrolDevice.RegisterAddress2Name = "关";
                    //}
                    ControlDeviceUnit.Save(cntrolDevice);
                    MessageBox.Show("保存成功");
                }
                catch (Exception ex)
                {
                    XTrace.WriteException(ex);
                    MessageBox.Show("保存失败");
                }
            }

            this.InitControlDeviceListView();
        }