namespace IBox.WinFrmUI
|
{
|
public partial class SignalEditForm : Form
|
{
|
public SignalEditForm(List<GeneralViewModel> signalTypes, List<MonitorPointGroup> monitorPoints, Signal signal)
|
{
|
this.signalTypes = signalTypes;
|
this.monitorPoints = monitorPoints;
|
InitializeComponent();
|
SetData();
|
if (signal != null)
|
BindData(signal);
|
}
|
private List<GeneralViewModel> signalTypes;
|
private List<MonitorPointGroup> monitorPoints;
|
public Signal signal;
|
private void simpleButton2_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private List<string> GetFlags()
|
{
|
return new List<string>()
|
{
|
"控制流量","控制压力","泵后压力","控制功率","控制频率","控制水位","电耗","1#","2#","3#","4#","5#"
|
};
|
}
|
|
/// <summary>
|
/// 获取数据
|
/// </summary>
|
public void GetData()
|
{
|
if (signal == null)
|
signal = new Signal();
|
|
signal.Accuracy = int.Parse(textEdit8.EditValue.ToString());
|
signal.Name = textEdit1.EditValue.ToString();
|
signal.SignalTypeID = long.Parse(textEdit3.EditValue.ToString());
|
signal.BusAddress = textEdit5.EditValue?.ToString();
|
signal.GroupID = long.Parse(textEdit2.EditValue.ToString());
|
signal.Operator = int.Parse(textEdit7.EditValue.ToString());
|
signal.Operands = textEdit14.EditValue?.ToString();
|
signal.AdcType = int.Parse(textEdit9.EditValue.ToString());
|
signal.BusType = int.Parse(textEdit6.EditValue.ToString());
|
signal.Description = textEdit13.EditValue?.ToString();
|
signal.IsEnable = textEdit4.Checked;
|
signal.LowerRange = decimal.Parse(textEdit11.EditValue.ToString());
|
signal.UpperRange = decimal.Parse(textEdit10.EditValue.ToString());
|
signal.Flags = textEdit12.EditValue?.ToString().Replace(", ", ",").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
/// <param name="signal"></param>
|
public void BindData(Signal signal)
|
{
|
this.signal = signal;
|
textEdit8.EditValue = signal.Accuracy;
|
textEdit1.EditValue = signal.Name;
|
textEdit3.EditValue = signal.SignalTypeID;
|
textEdit5.EditValue = signal.BusAddress;
|
textEdit2.EditValue = signal.GroupID;
|
textEdit7.EditValue = signal.Operator;
|
textEdit14.EditValue = signal.Operands;
|
textEdit9.EditValue = signal.AdcType;
|
textEdit6.EditValue = signal.BusType;
|
textEdit13.EditValue = signal.Description;
|
textEdit4.Checked = signal.IsEnable;
|
textEdit11.EditValue = signal.LowerRange;
|
textEdit10.EditValue = signal.UpperRange;
|
//textEdit12.EditValue = signal.Flags;
|
|
for (var i = 0; i < textEdit12.Properties.Items.Count; i++)
|
{
|
if (signal.Flags.Contains(textEdit12.Properties.Items[i].ToString()))
|
textEdit12.Properties.Items[i].CheckState = CheckState.Checked;
|
}
|
}
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void SetData()
|
{
|
var dics = new dModbus().ModbusDataType();
|
foreach (var d in dics)
|
{
|
textEdit6.Properties.Items.Add(d.Value, d.Key, -1);
|
}
|
textEdit6.EditValue = 4;
|
|
var adcDics = new dModbus().AdcType();
|
foreach (var adc in adcDics)
|
{
|
textEdit9.Properties.Items.Add(adc.Value, adc.Key, -1);
|
}
|
textEdit9.EditValue = 0;
|
var operDics = new dModbus().OperType();
|
foreach (var oper in operDics)
|
{
|
textEdit7.Properties.Items.Add(oper.Value, oper.Key, -1);
|
}
|
textEdit7.EditValue = 0;
|
foreach (var item in signalTypes)
|
{
|
textEdit3.Properties.Items.Add(item.Name, item.ID, -1);
|
}
|
|
foreach (var item in monitorPoints)
|
{
|
textEdit2.Properties.Items.Add(item.Name, item.ID, -1);
|
}
|
|
foreach (var item in GetFlags())
|
{
|
textEdit12.Properties.Items.Add(item.ToString().Trim());
|
}
|
}
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
{
|
GetData();
|
DialogResult = DialogResult.OK;
|
this.Close();
|
}
|
}
|
}
|