private void UpdateActiveConnection(IConnection candidateConnection = null) { lock (_syncObj) { var brokerConnectionInfo = _sessionProvider.Broker.ConnectionInfo; if (candidateConnection != null) { if (candidateConnection == ActiveConnection && candidateConnection.BrokerConnectionInfo == brokerConnectionInfo) { return; } } else if (brokerConnectionInfo == (ActiveConnection?.BrokerConnectionInfo ?? default(BrokerConnectionInfo))) { return; } var connection = candidateConnection ?? RecentConnections.FirstOrDefault(c => brokerConnectionInfo == c.BrokerConnectionInfo); if (connection != null) { connection.LastUsed = DateTime.Now; } ActiveConnection = connection; SaveActiveConnectionToSettings(); UpdateRecentConnections(); } }
private void SwitchBrokerToLastConnection() { var connectionInfo = _settings.LastActiveConnection; if (!string.IsNullOrEmpty(connectionInfo?.Path)) { SwitchBroker(connectionInfo.Name, connectionInfo.Path, connectionInfo.RCommandLineArguments); return; } var connection = RecentConnections.FirstOrDefault(); if (connectionInfo != null) { SwitchBroker(connection); return; } var localRPath = new RInstallation().GetRInstallPath(); if (localRPath != null) { SwitchBroker(CreateConnection("Local", localRPath, string.Empty)); } }
private void UpdateActiveConnection() { if (ActiveConnection?.Id == _brokerConnector.BrokerUri) { return; } ActiveConnection = RecentConnections.FirstOrDefault(c => c.Id == _brokerConnector.BrokerUri); SaveActiveConnectionToSettings(); }
private void UpdateActiveConnection() { if (string.IsNullOrEmpty(_sessionProvider.Broker.Name) || ActiveConnection?.Id == _sessionProvider.Broker.Uri) { return; } ActiveConnection = RecentConnections.FirstOrDefault(c => c.Id == _sessionProvider.Broker.Uri); SaveActiveConnectionToSettings(); }