예제 #1
0
 private void RaiseAnotherLogLineWasReaded(IBsEthernetLogLine logLine)
 {
     try
     {
         AnotherLogLineWasReaded?.Invoke(logLine);
     }
     catch
     {
         // TODO: may be log? It is program error, user callback is broken!
     }
 }
        public EngineAutoSetupViewModel(TableViewModel leftTable, TableViewModel rightTable,
                                        INotifySendingEnabled notifySendingEnabled,
                                        IAinSettingsReader ainSettingsReader, IAinSettingsReadNotify ainSettingsReadNotify,
                                        IAinSettingsWriter ainSettingsWriter,
                                        IUserInterfaceRoot uiRoot, ILogger logger, ICommandSenderHost commandSenderHost,
                                        ITargetAddressHost targetAddressHost, ReadCycleModel bsEthernetReadCycleModel)
        {
            LeftTable              = leftTable;
            RightTable             = rightTable;
            _notifySendingEnabled  = notifySendingEnabled;
            _ainSettingsReader     = ainSettingsReader;
            _ainSettingsReadNotify = ainSettingsReadNotify;
            _ainSettingsWriter     = ainSettingsWriter;
            _uiRoot                   = uiRoot;
            _logger                   = logger;
            _commandSenderHost        = commandSenderHost;
            _targetAddressHost        = targetAddressHost;
            _bsEthernetReadCycleModel = bsEthernetReadCycleModel;

            _needToUpdateLeftTable = true; // on app start we have no settings:

            _isDcTestChecked       = false;
            _isTrTestChecked       = false;
            _isLeakTestChecked     = false;
            _isXxTestChecked       = false;
            _isInertionTestChecked = false;

            _lastLogLine     = null;
            _errorsCount     = 0;
            _lastLogLineText = string.Empty;

            _engineTestParams = new EngineTestParamsBuilderAciIdentifyIni("aci_identify.ini").Build();

            _launchAutoSetupCmd = new RelayCommand(LaunchAutoSetup, CheckLaunchAutoSetupPossible);
            _readTestResultCmd  = new RelayCommand(ReadTestResult, () => _notifySendingEnabled.IsSendingEnabled);

            _writeLeftTestResultCmd =
                new RelayCommand(WriteLeftTestResult, () => _notifySendingEnabled.IsSendingEnabled);
            _writeRightTestResultCmd =
                new RelayCommand(WriteRightTestResult, () => _notifySendingEnabled.IsSendingEnabled);
            // finally subscribing events:
            _notifySendingEnabled.SendingEnabledChanged    += NotifySendingEnabledOnSendingEnabledChanged;
            _ainSettingsReadNotify.AinSettingsReadComplete +=
                AinSettingsReadNotifyOnAinSettingsReadComplete; //.AinSettingsUpdated += AinSettingsStorageUpdatedNotifyOnAinSettingsUpdated;

            _bsEthernetReadCycleModel.AnotherLogLineWasReaded += BsEthernetReadCycleModelOnAnotherLogLineWasReaded;
        }