예제 #1
0
    private CustomNode GenerateServerNode()
    {
        int count      = 0;
        int totalCount = GetTotalCount();

        CustomNode serverNode = new CustomNode(NodeType.Server, null, ConfigHandler.ServerName, NodeImage.ServerDatabase, 0);

        NodeDataGenerator.GenerateDatabaseNode(serverNode, _databaseOperation.GetDatabaseName(), 0);

        if (_objectsSelectorForm.IncludeObjectType(NodeType.Tables) || ((_fileFormat == "sql" || _fileFormat == "xls") && (_objectsSelectorForm.tableColumnsCheckBox.Checked || _objectsSelectorForm.tableKeysCheckBox.Checked || _objectsSelectorForm.tableConstraintsCheckBox.Checked || _objectsSelectorForm.tableTriggersCheckBox.Checked || _objectsSelectorForm.tableIndexesCheckBox.Checked)))
        {
            CustomNode tablesNode = (CustomNode)serverNode.Nodes[0].Nodes["Tables"];
            NodeDataGenerator.GenerateTablesNode(tablesNode, _databaseOperation);

            if (_objectsSelectorForm.IncludeObjectType(NodeType.TableColumns))
            {
                ExportTableColumns(tablesNode, ++count, totalCount);
            }

            if (_objectsSelectorForm.IncludeObjectType(NodeType.TableKeys))
            {
                ExportTableKeys(tablesNode, ++count, totalCount);
            }

            if (_objectsSelectorForm.IncludeObjectType(NodeType.TableConstraints))
            {
                ExportTableConstraints(tablesNode, ++count, totalCount);
            }

            if (_objectsSelectorForm.IncludeObjectType(NodeType.TableTriggers))
            {
                ExportTableTriggers(tablesNode, ++count, totalCount);
            }

            if (_objectsSelectorForm.IncludeObjectType(NodeType.TableIndexes))
            {
                ExportTableIndexes(tablesNode, ++count, totalCount);
            }
        }

        if (_objectsSelectorForm.IncludeObjectType(NodeType.Views) || ((_fileFormat == "sql" || _fileFormat == "xls") && (_objectsSelectorForm.viewColumnsCheckBox.Checked || _objectsSelectorForm.viewTriggersCheckBox.Checked || _objectsSelectorForm.viewIndexesCheckBox.Checked)))
        {
            CustomNode viewsNode = (CustomNode)serverNode.Nodes[0].Nodes["Views"];
            NodeDataGenerator.GenerateViewsNode(viewsNode, _databaseOperation);

            if (_objectsSelectorForm.IncludeObjectType(NodeType.ViewColumns))
            {
                ExportViewColumns(viewsNode, ++count, totalCount);
            }

            if (_objectsSelectorForm.IncludeObjectType(NodeType.ViewTriggers))
            {
                ExportViewTriggers(viewsNode, ++count, totalCount);
            }

            if (_objectsSelectorForm.IncludeObjectType(NodeType.ViewIndexes))
            {
                ExportViewIndexes(viewsNode, ++count, totalCount);
            }
        }

        if (_objectsSelectorForm.IncludeObjectType(NodeType.StoredProcedures) || ((_fileFormat == "sql" || _fileFormat == "xls") && (_objectsSelectorForm.storedProcedureParametersCheckBox.Checked)))
        {
            CustomNode proceduresNode = (CustomNode)serverNode.Nodes[0].Nodes["Programmability"].Nodes["Stored Procedures"];
            NodeDataGenerator.GenerateProceduresNode(proceduresNode, _databaseOperation);

            if (_objectsSelectorForm.IncludeObjectType(NodeType.StoredProcedureParameters))
            {
                ExportStoredProcedureParameters(proceduresNode, ++count, totalCount);
            }
        }

        if (_objectsSelectorForm.IncludeObjectType(NodeType.TableValuedFunctions) || ((_fileFormat == "sql" || _fileFormat == "xls") && (_objectsSelectorForm.tableValuedFunctionParametersCheckBox.Checked)))
        {
            CustomNode tableValuedFunctionsNode = (CustomNode)serverNode.Nodes[0].Nodes["Programmability"].Nodes["Functions"].Nodes["Table-valued Functions"];
            NodeDataGenerator.GenerateTableValuedFunctionsNode(tableValuedFunctionsNode, _databaseOperation);

            if (_objectsSelectorForm.IncludeObjectType(NodeType.TableValuedFunctionParameters))
            {
                ExportTableValuedFunctionParameters(tableValuedFunctionsNode, ++count, totalCount);
            }
        }

        if (_objectsSelectorForm.IncludeObjectType(NodeType.ScalarValuedFunctions) || ((_fileFormat == "sql" || _fileFormat == "xls") && (_objectsSelectorForm.scalarValuedFunctionParametersCheckBox.Checked)))
        {
            CustomNode scalarValuedFunctionsNode = (CustomNode)serverNode.Nodes[0].Nodes["Programmability"].Nodes["Functions"].Nodes["Scalar-valued Functions"];
            NodeDataGenerator.GenerateScalarValuedFunctionsNode(scalarValuedFunctionsNode, _databaseOperation);

            if (_objectsSelectorForm.IncludeObjectType(NodeType.ScalarValuedFunctionParameters))
            {
                ExportScalarValuedFunctionParameters(scalarValuedFunctionsNode, ++count, totalCount);
            }
        }

        return(serverNode);
    }