ningshuxia
2025-03-17 ecac1f13b6d1ad22b69687197ee49836d3a84220
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
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#"
            };
        }
 
        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();
        }
 
        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;
            }
        }
 
 
        private 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();
        }
    }
}