private static void RemoveAllFoldersForDatabase(Database database, ObjectExplorerDataSource source)
        {
            var foldersToRemove = source.DataSource.Where(r => IsFolderForDatabase(r) &&
                                                          r.GetDatabaseFromNode().Name == database.Name);

            source.RemoveListOfNodes(foldersToRemove);
        }
        private static void RemoveAllStoredProceduresForDatabase(Database database, ObjectExplorerDataSource source)
        {
            var storedProceduresToRemove = source.DataSource.Where(r => r.Type == GlobalStrings.ObjectExplorerTypes.StoredProcedure &&
                                                                   r.GetDatabaseFromNode().Name == database.Name);

            source.RemoveListOfNodes(storedProceduresToRemove);
        }
        private static void RemoveAllFunctionsForDatabase(Database database, ObjectExplorerDataSource source)
        {
            var functionsToRemove = source.DataSource.Where(r => r.Type == GlobalStrings.ObjectExplorerTypes.Function &&
                                                            r.GetDatabaseFromNode().Name == database.Name);

            source.RemoveListOfNodes(functionsToRemove);
        }
 public ObjectExplorerViewModel()
 {
     GetSelectTopDescriptionForPopupMenu();
     RegisterForMessages();
     _dataSourceModel     = new ObjectExplorerDataSource();
     ObjectExplorerSource = _dataSourceModel.DataSource;
     LoadingMode          = UnboundLoadModes.NotLoading;
 }
 public static void RemoveNodesForDatabase(this Database database, ObjectExplorerDataSource source)
 {
     RemoveAllColumnsForDatabase(database, source);
     RemoveAllTablesForDatabase(database, source);
     RemoveAllViewsForDatabase(database, source);
     RemoveAllFunctionsForDatabase(database, source);
     RemoveAllStoredProceduresForDatabase(database, source);
     RemoveAllFoldersForDatabase(database, source);
 }
        public static void RemoveNodesForTable(this Table table, ObjectExplorerDataSource source)
        {
            var columnsToRemove = source.DataSource.Where(r => r.Type == GlobalStrings.ObjectExplorerTypes.Column &&
                                                          ((Table)r.GetColumnFromNode().Parent) == table).ToList();

            foreach (var removable in columnsToRemove)
            {
                source.DataSource.Remove(removable);
            }
        }
        public static void RemoveAllStoredProceduresNodesForDatabase(this Database database, ObjectExplorerDataSource source)
        {
            RemoveAllStoredProceduresForDatabase(database, source);
            var systemStoredProcedureFolderToRemove = source.DataSource.Where(r =>
                                                                              r.DisplayName ==
                                                                              GlobalStrings.FolderTypes.SystemStoredProcedureFolder &&
                                                                              r.GetDatabaseFromNode().Name == database.Name).ToList();

            source.RemoveListOfNodes(systemStoredProcedureFolderToRemove);
        }
 public ObjectExplorerRefresherUtility(ObjectExplorerDataSource objectExplorerDataSource)
 {
     _objectExplorerDataSource = objectExplorerDataSource;
 }