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