示例#1
0
        public EditFloutecScanMemberForm()
        {
            InitializeComponent();

            Load += (sender, args) =>
            {
                if (!IsEdit)
                {
                    Member = new FloutecScanMember
                    {
                        ScanBaseId  = ScanBaseId,
                        EstimatorId = EstimatorId
                    };

                    cbScanIdentData.Enabled   = !ExistentMembers.Any(m => m.EstimatorId == EstimatorId && m.ScanIdentData);
                    cbScanAlarmData.Enabled   = !ExistentMembers.Any(m => m.EstimatorId == EstimatorId && m.ScanAlarmData);
                    cbScanInterData.Enabled   = !ExistentMembers.Any(m => m.EstimatorId == EstimatorId && m.ScanInterData);
                    cbScanInstantData.Enabled = !ExistentMembers.Any(m => m.EstimatorId == EstimatorId && m.ScanInstantData);
                    cbScanHourlyData.Enabled  = !ExistentMembers.Any(m => m.EstimatorId == EstimatorId && m.ScanHourlyData);
                }
                else
                {
                    cbScanIdentData.Checked   = Member.ScanIdentData;
                    cbScanAlarmData.Checked   = Member.ScanAlarmData;
                    cbScanInterData.Checked   = Member.ScanInterData;
                    cbScanInstantData.Checked = Member.ScanInstantData;
                    cbScanHourlyData.Checked  = Member.ScanHourlyData;

                    cbScanIdentData.Enabled   = !ExistentMembers.Except(new[] { Member }).Any(m => m.EstimatorId == Member.EstimatorId && m.ScanIdentData);
                    cbScanAlarmData.Enabled   = !ExistentMembers.Except(new[] { Member }).Any(m => m.EstimatorId == Member.EstimatorId && m.ScanAlarmData);
                    cbScanInterData.Enabled   = !ExistentMembers.Except(new[] { Member }).Any(m => m.EstimatorId == Member.EstimatorId && m.ScanInterData);
                    cbScanInstantData.Enabled = !ExistentMembers.Except(new[] { Member }).Any(m => m.EstimatorId == Member.EstimatorId && m.ScanInstantData);
                    cbScanHourlyData.Enabled  = !ExistentMembers.Except(new[] { Member }).Any(m => m.EstimatorId == Member.EstimatorId && m.ScanHourlyData);
                }

                bool showInfo = !cbScanIdentData.Enabled || !cbScanAlarmData.Enabled || !cbScanInterData.Enabled ||
                                !cbScanInstantData.Enabled || !cbScanHourlyData.Enabled;

                info.SetError(cbScanIdentData, !showInfo ? "" : "Деякі дані обчислювача вже опитуються");

                btnSave.Enabled = cbScanIdentData.Enabled || cbScanAlarmData.Enabled || cbScanInterData.Enabled ||
                                  cbScanInstantData.Enabled || cbScanHourlyData.Enabled;
            };

            btnCancel.Select();
        }
 private void ProcessLine(FloutecScanMember member, Floutec floutec, FloutecMeasureLine line)
 {
     if (member.ScanIdentData)
     {
         ScanIdentData(floutec, line);
     }
     if (member.ScanInterData)
     {
         ScanInterData(floutec, line);
     }
     if (member.ScanAlarmData)
     {
         ScanAlarmData(floutec, line);
     }
     if (member.ScanHourlyData)
     {
         ScanHourlyData(floutec, line);
     }
     if (member.ScanInstantData)
     {
         ScanInstantData(floutec, line);
     }
 }