public SyncServerConnectionEditorViewModel(ISmoTasks smoTasks, string initialConnectionString) { _smoTasks = smoTasks; _connectionString = new SqlConnectionString(initialConnectionString); if (string.IsNullOrEmpty(initialConnectionString)) _connectionString.IntegratedSecurity = true; _connectionString.PropertyChanged += (sender, e) => RaisePropertyChanged("ConnectionString"); _dbLoader.DoWork += dbLoaderDoWork; _dbLoader.RunWorkerCompleted += dbLoaderRunWorkerCompleted; _connectionString.PropertyChanged += connectionStringPropertyChanged; }
public List <string> GetDatabases(SqlConnectionString connectionString) { var databases = new List <string>(); try { using (var conn = new SqlConnection(connectionString.WithDatabase("master"))) { conn.Open(); var serverConnection = new ServerConnection(conn); var server = new Server(serverConnection); databases.AddRange(server.Databases.Cast <Database>().Select(database => database.Name)); } } catch (Exception) { return(null); } return(databases); }