private void RefreshAllStoredProcedures(ObjectExplorerNode selectedFolderNode) { var database = selectedFolderNode.GetDatabaseFromNode(); database.RemoveAllStoredProceduresNodesForDatabase(_objectExplorerDataSource); database.StoredProcedures.Refresh(true); }
public void GenerateAlterScript(ObjectExplorerNode node) { switch (node.Data) { case UserDefinedFunction function: { GenerateFunctionScript(function, false); break; } case StoredProcedure storedProcedure: { GenerateStoredProcedureScript(storedProcedure, false); break; } case View view: { GenerateViewScript(view, false); break; } default: { ResultService.ResultWithNoErrors(string.Empty, string.Empty); break; } } }
private void RefreshFolderNode(ObjectExplorerNode selectedFolderNode) { switch (selectedFolderNode.DisplayName) { case GlobalStrings.FolderTypes.StoreProcedureFolder: RefreshAllStoredProcedures(selectedFolderNode); break; case GlobalStrings.FolderTypes.SystemStoredProcedureFolder: RefreshSystemStoredProcedures(selectedFolderNode); break; case GlobalStrings.FolderTypes.FunctionsFolder: //TODO - Add refresh functions break; case GlobalStrings.FolderTypes.SystemDatabaseFolder: //TODO - Add refresh system databases break; case GlobalStrings.FolderTypes.TableFolder: //TODO - Add refresh tables break; case GlobalStrings.FolderTypes.ViewFolder: RefreshViewsForDatabase(selectedFolderNode); break; } }
private void ReloadSelectedNode(ObjectExplorerNode selectedNode) { var nodeToReplace = _objectExplorerDataSource.DataSource.FirstOrDefault(x => x.Id == selectedNode.Id); var indexOfNodeToReplace = _objectExplorerDataSource.DataSource.IndexOf(nodeToReplace); if (indexOfNodeToReplace != -1) { switch (selectedNode.Type) { case GlobalStrings.ObjectExplorerTypes.Column: RefreshColumn(selectedNode, indexOfNodeToReplace); break; case GlobalStrings.ObjectExplorerTypes.Function: RefreshFunction(selectedNode, indexOfNodeToReplace); break; case GlobalStrings.ObjectExplorerTypes.StoredProcedure: RefreshStoredProcedure(selectedNode, indexOfNodeToReplace); break; default: break; } } }
private static void SetHasChildrenForNode(NodeChangedEventArgs e, ObjectExplorerNode objectExplorerModel) { switch (objectExplorerModel.Type) { case GlobalStrings.ObjectExplorerTypes.Instance: e.Node.HasChildren = true; break; case GlobalStrings.ObjectExplorerTypes.Database: e.Node.HasChildren = true; break; case GlobalStrings.ObjectExplorerTypes.Folder: e.Node.HasChildren = true; break; case GlobalStrings.ObjectExplorerTypes.Table: e.Node.HasChildren = true; break; default: e.Node.HasChildren = false; break; } }
private void RefreshViewsForDatabase(ObjectExplorerNode selectedFolderNode) { var database = selectedFolderNode.GetDatabaseFromNode(); var nodesToRemove = _objectExplorerDataSource.DataSource.Where(r => r.Type == GlobalStrings.ObjectExplorerTypes.View && r.GetDatabaseFromNode().Name == database.Name); _objectExplorerDataSource.RemoveListOfNodes(nodesToRemove); database.Views.Refresh(true); }
private void RefreshSystemStoredProcedures(ObjectExplorerNode selectedFolderNode) { var database = selectedFolderNode.GetDatabaseFromNode(); var nodesToRemove = _objectExplorerDataSource.DataSource.Where(r => r.Type == GlobalStrings.ObjectExplorerTypes.StoredProcedure && r.GetDatabaseFromNode().Name == database.Name && r.ParentId == selectedFolderNode.Id).ToList(); _objectExplorerDataSource.RemoveListOfNodes(nodesToRemove); database.StoredProcedures.Refresh(true); }
private void RefreshColumn(ObjectExplorerNode selectedNode, int indexOfNodeToReplace) { if (selectedNode.Data is Column column) { column.Refresh(); _objectExplorerDataSource.DataSource[indexOfNodeToReplace] = ObjectExplorerNodeFactory.CreateColumnNode(selectedNode.Id, selectedNode.ParentId, column); } }
private void RefreshStoredProcedure(ObjectExplorerNode selectedNode, int indexOfNodeToReplace) { if (selectedNode.Data is StoredProcedure storedProcedure) { storedProcedure.Refresh(); _objectExplorerDataSource.DataSource[indexOfNodeToReplace] = ObjectExplorerNodeFactory.CreateStoredProcedureNode( selectedNode.Id, selectedNode.ParentId, storedProcedure); } }
private void RefreshFunction(ObjectExplorerNode selectedNode, int indexOfNodeToReplace) { if (selectedNode.Data is UserDefinedFunction function) { function.Refresh(); _objectExplorerDataSource.DataSource[indexOfNodeToReplace] = ObjectExplorerNodeFactory.CreateFunctionNode( selectedNode.Id, selectedNode.ParentId, function); } }
private static bool IsFolderForDatabase(ObjectExplorerNode node) { if (node.Type != GlobalStrings.ObjectExplorerTypes.Folder) { return(false); } return(node.DisplayName == GlobalStrings.FolderTypes.FunctionsFolder || node.DisplayName == GlobalStrings.FolderTypes.StoreProcedureFolder || node.DisplayName == GlobalStrings.FolderTypes.SystemStoredProcedureFolder || node.DisplayName == GlobalStrings.FolderTypes.TableFolder || node.DisplayName == GlobalStrings.FolderTypes.ViewFolder); }
public void RefreshNode(ObjectExplorerNode selectedNode) { if (selectedNode.Type == GlobalStrings.ObjectExplorerTypes.Column || selectedNode.Type == GlobalStrings.ObjectExplorerTypes.Function || selectedNode.Type == GlobalStrings.ObjectExplorerTypes.StoredProcedure || selectedNode.Type == GlobalStrings.ObjectExplorerTypes.Nothing) { ReloadSelectedNode(selectedNode); } else { RemoveAllChildrenNodesOfNode(selectedNode); } }
private void LoadDataForObjectExplorerDynamically(ObjectExplorerNode selectedNode) { LoadingMode = UnboundLoadModes.BeginUnboundLoad; try { _dataSourceModel.GetNodes(selectedNode); FinishUnboundLoad(); } catch (Exception e) { _dataSourceModel.CreateEmptyNode(selectedNode); DisplayErrorMessage(e.Message, "Error Getting Objects"); } }
/// <summary> /// Creates a "nothing node" that is used to represents a node where nothing is found in the object explorer. This is /// typically used in situations where you have errors occur retrieving nodes and need to indicate to the user that /// nothing was retrieved when expanding a node. /// </summary> /// <param name="emptyNodeId">The internal id of the node itself</param> /// <param name="parentNode">The parent node of the node that is returned</param> /// <returns></returns> public static ObjectExplorerNode CreateNothingNode(int emptyNodeId, ObjectExplorerNode parentNode) { return(new ObjectExplorerNode { ParentId = parentNode.Id, Id = emptyNodeId, InstanceName = parentNode.InstanceName, Type = GlobalStrings.ObjectExplorerTypes.Nothing, Data = null, DisplayName = "Nothing available", FullName = parentNode.FullName + " " + "Empty Child Node", ParentNodeName = parentNode.FullName, ImageIndex = 8, Properties = string.Empty }); }
public void GenerateSelectTopStatement(ObjectExplorerNode node) { switch (node.Data) { case Table selectedTable: ResultService.ResultWithNoErrors($"SELECT TOP {App.Config.NumberOfRowsForTopSelectScript} * FROM {GetFullTablePath(selectedTable)}", selectedTable.Parent.Name); break; case View selectedView: ResultService.ResultWithNoErrors($"SELECT TOP {App.Config.NumberOfRowsForTopSelectScript} * FROM {GetFullViewPath(selectedView)}", selectedView.Parent.Name); break; default: ResultService.ResultWithNoErrors(string.Empty, string.Empty); break; } }
public void GenerateSelectAllStatement(ObjectExplorerNode node) { switch (node.Data) { case Table selectedTable: ResultService.ResultWithNoErrors($"SELECT * FROM {GetFullTablePath(selectedTable)}", selectedTable.Parent.Name); break; case View selectedView: ResultService.ResultWithNoErrors($"SELECT * FROM {GetFullViewPath(selectedView)}", selectedView.Parent.Name); break; default: ResultService.ResultWithNoErrors(string.Empty, string.Empty); break; } }
private void RemoveAllChildrenNodesOfNode(ObjectExplorerNode selectedNode) { switch (selectedNode.Type) { case GlobalStrings.ObjectExplorerTypes.Instance: RefreshServer(selectedNode.Data as Server); break; case GlobalStrings.ObjectExplorerTypes.Database: RefreshDatabase(selectedNode.Data as Database); break; case GlobalStrings.ObjectExplorerTypes.Folder: RefreshFolderNode(selectedNode); break; case GlobalStrings.ObjectExplorerTypes.Table: RefreshTable(selectedNode.Data as Table); break; } }
public static bool CheckCondition( ) { if (HostServicesSingleton.HostServices == null || HostServicesSingleton.HostServices.ObjectExplorerService == null) { return(false); } IObjectExplorerService service = HostServicesSingleton.HostServices.ObjectExplorerService; if (service == null) { return(false); } ObjectExplorerNode node = service.SelNode; if (node == null || node.ConnParams == null) { return(false); } return(String.IsNullOrEmpty(node.DatabaseName) ? false : true); }
public static bool CheckCondition() { if (HostServicesSingleton.HostServices == null || HostServicesSingleton.HostServices.ObjectExplorerService == null) { return(false); } IObjectExplorerService service = HostServicesSingleton.HostServices.ObjectExplorerService; if (service == null) { return(false); } ObjectExplorerNode node = service.SelNode; if (node == null) { return(false); } return((node.Type == DBObjectType.UserTable || node.Type == DBObjectType.SystemTable || node.Type == DBObjectType.View) ? true : false); }
/// <summary> /// Returns the full name of a child folder that belongs to a particular node. /// </summary> /// <param name="folderType"></param> /// <param name="parentNode"></param> /// <returns></returns> private static string GetFolderFullName(string folderType, ObjectExplorerNode parentNode) { return(parentNode.InstanceName + " " + folderType + " " + "folder"); }
public string EvalMacro(PragmaSqlMacros macro) { string result = String.Empty; ITextEditor txtEditor = HostServicesSingleton.HostServices.EditorServices.CurrentEditor; IScriptEditor scriptEditor = HostServicesSingleton.HostServices.EditorServices.CurrentScriptEditor; switch (macro) { case PragmaSqlMacros.Content: if (txtEditor != null) { result = txtEditor.Content; } break; case PragmaSqlMacros.SelectedContent: if (txtEditor != null) { result = txtEditor.SelectedText; } break; case PragmaSqlMacros.FileName: if (txtEditor != null) { result = txtEditor.FileName; } break; case PragmaSqlMacros.ObjectName: if (scriptEditor != null) { result = scriptEditor.ObjectName; } break; case PragmaSqlMacros.ObjectNames: if (scriptEditor != null) { IList <string> names = scriptEditor.ObjectNames; string comma = String.Empty; foreach (string s in names) { result += (String.IsNullOrEmpty(comma) ? String.Empty : comma) + s; comma = ";"; } } break; case PragmaSqlMacros.WordAtCursor: if (txtEditor != null) { result = txtEditor.WordAtCursor; } break; case PragmaSqlMacros.Connection: if (scriptEditor != null) { result = scriptEditor.ConnectionString; } break; case PragmaSqlMacros.ServerName: if (scriptEditor != null) { result = scriptEditor.Server; } break; case PragmaSqlMacros.DatabaseName: if (scriptEditor != null) { result = scriptEditor.Database; } break; case PragmaSqlMacros.Username: scriptEditor = HostServicesSingleton.HostServices.EditorServices.CurrentScriptEditor; if (scriptEditor != null) { result = scriptEditor.Username; } break; case PragmaSqlMacros.ObjExplorerNode: ObjectExplorerNode objExpNode = HostServicesSingleton.HostServices.ObjectExplorerService.SelNode; if (objExpNode != null) { result = objExpNode.Name; } break; case PragmaSqlMacros.StartupPath: result = Application.StartupPath; break; default: break; } return(result); }
/// <summary> /// Creates a new folder node for the object explorer that can be used to house other child nodes (I.E. Functions, etc) /// </summary> /// <param name="folderId"></param> /// <param name="folderType"></param> /// <param name="parentModel"></param> /// <returns></returns> public static ObjectExplorerNode CreateFolderNode(int folderId, string folderType, ObjectExplorerNode parentModel) { return(new ObjectExplorerNode { ParentId = parentModel.Id, Id = folderId, InstanceName = parentModel.InstanceName, Type = GlobalStrings.ObjectExplorerTypes.Folder, Data = parentModel.Data, DisplayName = folderType, FullName = GetFolderFullName(folderType, parentModel), ParentNodeName = parentModel.FullName, ImageIndex = 4, Properties = null, }); }