private void advPropertyGrid1_PropertyValueChanging(object sender, PropertyValueChangingEventArgs e) { //var item = GetObjAndField(e.PropertyPath); //var obj= item.Item1; //var propertyName = item.Item2; if (e.PropertyName.EqualIgnoreCase("ModularDevices")) { var ModularDeviceID = ModularDevice.FindAllByName(e.NewValue.ToString())[0].ID; selectObj.Item1.SetItem("ModularDeviceID", ModularDeviceID); } else if (e.PropertyName.EqualIgnoreCase("Sensors")) { var SensorId = Sensor.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("SensorId", SensorId); } else if (e.PropertyName.EqualIgnoreCase("ControlJobTypes")) { var ControlJobTypeId = ControlJobType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Id; selectObj.Item1.SetItem("ControlJobTypeId", ControlJobTypeId); } else if (e.PropertyName.EqualIgnoreCase("RelayTypes")) { var RelayTypeId = RelayType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Id; selectObj.Item1.SetItem("RelayTypeId", RelayTypeId); } else if (e.PropertyName.EqualIgnoreCase("DeviceTypes")) { var DeviceTypeSerialnum = DeviceType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Serialnum; selectObj.Item1.SetItem("DeviceTypeSerialnum", DeviceTypeSerialnum); } else if (e.PropertyName.EqualIgnoreCase("ShowDeviceTypes")) { var ShowDeviceTypeID = ShowDeviceType.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("ShowDeviceTypeID", ShowDeviceTypeID); } else if (e.PropertyName.EqualIgnoreCase("CommunicateDevices")) { var CommunicateDeviceID = CommunicateDevice.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("CommunicateDeviceID", CommunicateDeviceID); } else if (e.PropertyName.EqualIgnoreCase("Farms")) { var FarmID = Farm.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("FarmID", FarmID); } else if (e.PropertyName.EqualIgnoreCase("FacilityTypes")) { var FacilityTypeSerialnum = FacilityType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Serialnum; selectObj.Item1.SetItem("FacilityTypeSerialnum", FacilityTypeSerialnum); } else { selectObj.Item1.SetItem(e.PropertyName, e.NewValue); } }
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { var modulars = ModularDevice.FindAll(); var names = new ArrayList(); if (modulars != null && modulars.Count > 0) { names.AddRange(modulars); } return(new StandardValuesCollection(names)); }
/// <summary> /// 初始化模块化设备 /// </summary> private void InitModularDevice() { List <ModularDevice> modularDeviceList = ModularDevice.FindAll(); //foreach (var modularDevice in modularDeviceList) //{ // this.cbModularDevice.Items.Add(modularDevice); // this.cbModularDevice.DisplayMember = modularDevice.ID.ToString(); // this.cbModularDevice.ValueMember = modularDevice.Name; //} if (modularDeviceList.Count > 0) { this.cbModularDevice.DataSource = modularDeviceList; this.cbModularDevice.DisplayMember = "Name"; this.cbModularDevice.ValueMember = "ID"; } }
/// <summary> /// 初始化模块化设备列表 /// </summary> private void InitModularDeviceListView() { this.listView1.Items.Clear(); List <ModularDevice> modularDeviceList = ModularDevice.FindAll(); foreach (var modularDevice in modularDeviceList) { var strings = new string[] { modularDevice.ID.ToString(), modularDevice.Name, modularDevice.ProtocalTypeName, modularDevice.CommunicateDeviceName, modularDevice.Address, modularDevice.OnlineStatus.ToString(), modularDevice.Exception, modularDevice.Remark }; var listViewItem = new ListViewItem(strings); listViewItem.Tag = modularDevice; this.listView1.Items.Add(listViewItem); } }
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 FacilityType) { var protocalType = this.listView1.SelectedItems[0].Tag as ProtocalType; var id = protocalType.ID; List <ModularDevice> modularDeviceList = ModularDevice.FindAllByProtocalTypeID(id); if (modularDeviceList != null) { MessageBox.Show("该协议类型已经在使用,不能删除"); return; } ProtocalType.Delete(protocalType); this.InitProtocalTypeListView(); this.protocalTypeId = 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(); }