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;
        }
Example #2
0
        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);
        }