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(); }
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(); }