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

            //if (this.cbModularDeviceId.DisplayMember.Equals(""))
            //{
            //    MessageBox.Show("变送器不能为空,请输入");
            //    this.cbModularDeviceId.Focus();
            //    return;
            //}
            //if (this.cbSensorId.DisplayMember.Equals(""))
            //{
            //    MessageBox.Show("传感器不能为空,请输入");
            //    this.cbSensorId.Focus();
            //    return;
            //}

            //if (this.txtFunction.Text == null)
            //{
            //    MessageBox.Show("功能码不能为空");
            //    this.txtFunction.Focus();
            //    return;
            //}

            #region 获取所有选中的显示数据

            //List<ShowData> showDataList = (from item in this.lstShowData.Items.Cast<ListViewItem>() where item.Checked select item.Tag as ShowData).ToList();//显示数据
            var showDataList  = new List <ShowData>();
            var showDataList1 = new List <ShowData>();
            foreach (ListViewItem item in this.lstShowData.Items)
            {
                if (item.Checked == false)
                {
                    var showData = item.Tag as ShowData; //未选中的显示数据
                    showDataList1.Add(showData);
                }
                else
                {
                    showDataList =
                        (from i in this.lstShowData.Items.Cast <ListViewItem>() where i.Checked select i.Tag as ShowData)
                        .ToList();     //选中的显示数据
                }
            }

            #endregion 获取所有选中的显示数据

            if (this.collectDeviceId != 0)
            {
                try
                {
                    // 更新
                    var collectDevice = new SensorDeviceUnit
                    {
                        ID              = this.collectDeviceId,
                        Name            = this.txtName.Text.Trim(),
                        ModularDeviceID = Convert.ToInt32(this.cbModularDevice.SelectedValue),
                        SensorId        = Convert.ToInt32(this.cbSensor.SelectedValue),
                        Function        = Convert.ToInt32(this.txtFunction.Text.Trim()),
                        OriginalValue   = Convert.ToInt32(this.txtOriginalValue.Text.Trim()),
                        ShowValue       = this.txtShowValue.Value.ToString(),
                        ProcessedValue  = Convert.ToDecimal(this.txtProccessedValue.Text.Trim()),
                        //UpdateTime = DateTime.Now,
                        RegisterSize    = Convert.ToInt32(this.txtRegisterSize.Text.Trim()),
                        RegisterAddress = Convert.ToInt32(this.txtRegisterAddress.Text.Trim()),
                        Location        = this.txtLocation.Text.Trim()
                                          //Remark = this.txtRemark.Text.Trim()
                    };
                    SensorDeviceUnit.Update(collectDevice);

                    //更新显示数据
                    foreach (var item in showDataList)
                    {
                        item.SensorDeviceUnitID = this.collectDeviceId;
                        ShowData.Update(item);
                    }
                    //foreach (var item in showDataList1)
                    //{
                    //    item.SensorDeviceUnitID = this.collectDeviceId;
                    //    ShowData.Delete(item);
                    //}
                    this.InitShowDataListView();
                    MessageBox.Show("更新成功");
                }
                catch (Exception ex)
                {
                    XTrace.WriteException(ex);
                    MessageBox.Show("更新失败");
                }
            }
            else
            {
                try
                {
                    // 保存
                    var collectDevice = new SensorDeviceUnit
                    {
                        //ID = this.collectDeviceId,
                        Name            = this.txtName.Text.Trim(),
                        ModularDeviceID = Convert.ToInt32(this.cbModularDevice.SelectedValue),
                        SensorId        = Convert.ToInt32(this.cbSensor.SelectedValue),
                        Function        = Convert.ToInt32(this.txtFunction.Text.Trim()),
                        OriginalValue   = Convert.ToInt32(this.txtOriginalValue.Text.Trim()),
                        ShowValue       = this.txtShowValue.Value.ToString(),
                        ProcessedValue  = Convert.ToDecimal(this.txtProccessedValue.Text.Trim()),
                        //UpdateTime = DateTime.Now,
                        RegisterSize    = Convert.ToInt32(this.txtRegisterSize.Text.Trim()),
                        RegisterAddress = Convert.ToInt32(this.txtRegisterAddress.Text.Trim()),
                        Location        = this.txtLocation.Text.Trim()
                                          ////Remark = this.txtRemark.Text.Trim()
                    };
                    SensorDeviceUnit.Save(collectDevice);

                    ////保存显示数据
                    //foreach (var item in showDataList)
                    //{
                    //    ShowData.Save(item);
                    //}
                    this.InitShowDataListView();
                    MessageBox.Show("保存成功");
                }
                catch (Exception ex)
                {
                    XTrace.WriteException(ex);
                    MessageBox.Show("保存失败");
                }
            }

            this.InitCollectDeviceListView();
        }
コード例 #2
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();
        }