/// <summary>
        /// Creates the adapter and starts listening for deployment events.
        /// </summary>
        private async Task CreateAdapter()
        {
            if (_adapter != null)
            {
                _adapter.StopPolling();
                _adapter.DeploymentsChanged       -= Adapter_DeploymentsChanged;
                _adapter.DeploymentSummaryChanged -= Adapter_DeploymentSummaryChanged;

                _adapter.ErrorsCleared      -= Adapter_ErrorsCleared;
                _adapter.ErrorsFound        -= Adapter_ErrorsFound;
                _adapter.ConnectionError    -= Adapter_ConnectionError;
                _adapter.ConnectionRestored -= Adapter_ConnectionRestored;

                _adapter = null;
            }

            try
            {
                IConnectionTester tester = Container.Current.Resolve <IConnectionTester>();
                (bool, string)testResult = await tester.Test();

                if (!testResult.Item1)
                {
                    _adapter = null;
                    SetIconState(NotifyIconState.Disconnected);
                    return;
                }

                _adapter = Container.Current.Resolve <IDeploymentRepositoryAdapter>();

                _adapter.DeploymentsChanged       += Adapter_DeploymentsChanged;
                _adapter.DeploymentSummaryChanged += Adapter_DeploymentSummaryChanged;

                _adapter.ErrorsCleared += Adapter_ErrorsCleared;
                _adapter.ErrorsFound   += Adapter_ErrorsFound;

                _adapter.ConnectionError    += Adapter_ConnectionError;
                _adapter.ConnectionRestored += Adapter_ConnectionRestored;

                _adapter.StartPolling();
            }
            catch (ResolutionFailedException)
            {
                _adapter = null;
                SetIconState(NotifyIconState.Disconnected);
            }
        }
示例#2
0
 public WorkerConfiguration(IConnectionTester connectionTester, IConnectionStringBuilder connectionBuilder)
 {
     _connectionTester  = connectionTester;
     _connectionBuilder = connectionBuilder;
 }
 public WorkerConfiguration(IConnectionTester connectionTester, IConnectionStringBuilder connectionBuilder)
 {
     _connectionTester = connectionTester;
     _connectionBuilder = connectionBuilder;
 }
        public async Task <(bool, string)> Test(string apiKey)
        {
            IConnectionTester tester = Container.Current.Resolve <IConnectionTester>();

            return(await tester.Test(ServerUrl, apiKey));
        }