Modules/EDMDesigner/FrmMain.vb
Jonathan Jenne 7527d59b93 jj: fix typo
2018-08-14 16:56:01 +02:00

149 lines
4.9 KiB
VB.net

Imports DD_FirebirdDLL
Imports Modules.Logging
Public Class FrmMain
Private SelectedTable As Integer
Private Logger As NLog.Logger
Private LogWrapper As Logger
Private DB As ClassFirebird
Private Sub CreateTableNodesFromDatatable(dt As DataTable)
' Node der Datenbank erstellen
Dim dbNode As New TreeNode With {
.Text = My.Settings.fbDatabaseLocation
}
' Übernode für Tabellen erstellen
Dim tablesNode As New TreeNode With {
.Text = "Tabellen",
.Name = "TABLES"
}
' Nodes für Tabellen erstellen
Dim tableNodeList As New List(Of TreeNode)
For Each row As DataRow In dt.Rows
Dim node As New TreeNode With {
.Text = row.Item("TABLE"),
.Tag = row.Item("TABLE_ID")
}
tableNodeList.Add(node)
Next
' Nodes zusammenfügen
tablesNode.Nodes.AddRange(tableNodeList.ToArray)
dbNode.Nodes.Add(tablesNode)
' Nodes einhängen
treeViewMain.Nodes.Add(dbNode)
End Sub
Private Function LoadTables()
Return DB.ReturnDatatable("SELECT DISTINCT T.TABLE_ID,T.""TABLE"" from VWEDM_TABLE_COLUMN T")
End Function
Private Function DatabaseSettingsExist()
Return My.Settings.fbDatabaseLocation <> String.Empty And My.Settings.fbDatasource <> String.Empty And My.Settings.fbUser <> String.Empty And My.Settings.fbPassword <> String.Empty
End Function
Private Sub Init()
DB = New ClassFirebird(My.Settings.fbDatasource, My.Settings.fbDatabaseLocation, My.Settings.fbUser, My.Settings.fbPassword)
If DB.ConnectionFailed Then
MsgBox("Database connection failed. Please check the log.", vbCritical)
Exit Sub
End If
' Get info about the logged in user
CurrentUser = New ClassCurrentUser(DB)
Dim dt As DataTable = LoadTables()
CreateTableNodesFromDatatable(dt)
End Sub
Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
LogWrapper = New Logger("EDMDesigner", ClassLogger.PathType.CurrentDirectory)
Logger = NLog.LogManager.GetCurrentClassLogger()
Logger.Debug("DEBUG1")
Logger.Debug("DEBUG2")
Logger.Debug("DEBUG3")
LogWrapper.Debug = False
Logger.Debug("DEBUG4")
Logger.Debug("DEBUG5")
Logger.Debug("DEBUG6")
LogWrapper.Debug = True
Logger.Debug("DEBUG7")
Logger.Debug("DEBUG8")
Logger.Debug("DEBUG9")
Logger.Info("Starting EDMDesigner..")
Logger.Error(New IO.FileNotFoundException("Central 66"), "This is Error!")
' Check for existing database credentials
While Not DatabaseSettingsExist()
Dim result As DialogResult = FrmConnection.ShowDialog()
If result = DialogResult.OK Then
Exit While
End If
End While
Init()
End Sub
Private Sub TreeViewMain_NodeMouseClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles treeViewMain.NodeMouseClick
If e.Button = MouseButtons.Right Then
SelectedTable = -1
' Wenn kein Node geklickt wurde, aussteigen
If e.Node Is Nothing OrElse e.Node.Parent Is Nothing Then
Exit Sub
End If
Dim parentName As String = e.Node.Parent.Name
' Das Kontextmenü für den angeklickten Node öffnen
Select Case parentName
Case "TABLES"
SelectedTable = e.Node.Tag
contextMenuTable.Show(MousePosition)
End Select
treeViewMain.SelectedNode = e.Node
End If
End Sub
Private Sub SpaltenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SpaltenBearbeitenToolStripMenuItem.Click
Dim dt As DataTable = DB.ReturnDatatable($"SELECT * FROM VWEDM_TABLE_COLUMN WHERE TABLE_ID = {SelectedTable}")
gridControlTableProperties.DataSource = dt
End Sub
Private Sub TabelleBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TabelleBearbeitenToolStripMenuItem.Click
End Sub
Private Sub DebugAnToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugAnToolStripMenuItem.Click
LogWrapper.Debug = True
End Sub
Private Sub DebugAusToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugAusToolStripMenuItem.Click
LogWrapper.Debug = False
End Sub
Private Sub WriteDebugLogToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles WriteDebugLogToolStripMenuItem.Click
Logger.Debug("Welcome to monkey island!")
End Sub
Private Sub SpamTheLogToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SpamTheLogToolStripMenuItem.Click
For index = 1 To 100000
Logger.Debug("Spam No. {0}", index)
Next
End Sub
End Class