2015-09-08 10:15:45 +02:00

526 lines
20 KiB
VB.net

Imports DevExpress.XtraNavBar
Imports DevExpress.XtraBars.Ribbon
Imports DevExpress.XtraBars
Public Class frmMain
Dim sql_User_Login As String = "UPDATE TBDD_USER SET LOGGED_IN = @LogInOut, LOGGED_WHERE = '@ANGEMELDETWO' WHERE (LOWER(USERNAME) = LOWER('@user'))"
Dim sql_UserID As String = "SELECT GUID FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
Private USER_GUID
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
Dim sql = sql_User_Login
sql = sql.Replace("@LogInOut", 0)
sql = sql.Replace("@ANGEMELDETWO", "''")
sql = sql.Replace("@user", Environment.UserName)
ClassDatabase.Execute_non_Query(sql)
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE = 'RECORD_ORGANIZER'"
ClassDatabase.Execute_non_Query(sql)
ClassWindowLocation.SaveFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmMain")
ToolStripManager.SaveSettings(Me)
My.Settings.Save()
Catch ex As Exception
End Try
End Sub
Private Shared Function LoadNoImage() As Bitmap
Return Nothing
End Function
Private Shared Function LoadImage(path As Object)
If Not IsDBNull(path) Then
Dim filepath As String = DirectCast(path, String)
filepath = CType(path, String)
If System.IO.File.Exists(path) Then
Return New Bitmap(filepath)
Else
Return LoadNoImage()
End If
Else
Return LoadNoImage()
End If
End Function
Public Sub LoadMenuItems2()
Dim SQL As String = "SELECT * FROM TBPMO_MENU_FORM"
Dim dtRootMenu As DataTable = ClassDatabase.Return_Datatable(SQL)
If dtRootMenu.Rows.Count <> 0 Then
For Each row As DataRow In dtRootMenu.Rows
Dim MenuID As Integer = row.Item("GUID")
Dim groupTitle As String = row.Item("MENU_ENTRY")
Dim group As New RibbonPageGroup(groupTitle)
Dim dtSubMenu As DataTable
Dim image As Bitmap = LoadImage(row.Item("ICON_PATH"))
group.Glyph = image
group.AllowTextClipping = False
SQL = "SELECT * FROM TBPMO_MENU_FORM_ENTRIES WHERE MENU_FORM_ID = " & MenuID
dtSubMenu = ClassDatabase.Return_Datatable(SQL)
If dtSubMenu.Rows.Count <> 0 Then
For Each subRow As DataRow In dtSubMenu.Rows
Dim itemTitle As String = subRow.Item("MENU_ENTRY")
Dim tag As String = subRow.Item("FORM_ID")
Dim item As New BarButtonItem(ribbonMain.Manager, itemTitle)
Dim subimage As Bitmap = LoadImage(subRow.Item("ICON_PATH"))
item.RibbonStyle = RibbonItemStyles.SmallWithText
item.Tag = tag
item.Glyph = subimage
AddHandler item.ItemClick, AddressOf BarButtonItemClick
group.ItemLinks.Add(item)
Next
pageForms.Groups.Add(group)
End If
Next
End If
End Sub
Public Sub LoadQuickStartItems()
Dim SQL2 As String = "SELECT * FROM TBPMO_FORM_CONSTRUCTOR ORDER BY SEQUENCE_MENU"
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL2)
Dim image2 As Bitmap = LoadNoImage()
If dt.Rows.Count <> 0 Then
For Each row As DataRow In dt.Rows
If Not IsDBNull(row.Item("MENU_IMG")) Then
Dim bimg() As Byte = row.Item("MENU_IMG")
Dim bitmap As Bitmap = ByteArrayToBitmap(bimg)
image2 = bitmap
End If
Dim title As String = row.Item("FORM_TITLE")
Dim index As Integer = row.Item("SEQUENCE_MENU")
Dim tag As Integer = row.Item("GUID")
Dim item As New BarButtonItem(ribbonMain.Manager, title)
item.RibbonStyle = RibbonItemStyles.Large
item.Caption = title
item.Tag = tag
item.Glyph = image2
AddHandler item.ItemClick, AddressOf ToolbarButtonItemClick
groupQuickAccess.ItemLinks.Add(item)
Next
End If
End Sub
'Public Sub LoadMenuItems()
' Dim items As ToolStripItemCollection = BearbeitenToolStripMenuItem.DropDownItems
' Dim subitem As ToolStripMenuItem
' Dim SQL As String = "SELECT * FROM TBPMO_MENU_FORM"
' Dim dtRootMenu As DataTable = ClassDatabase.Return_Datatable(SQL)
' Try
' items.Clear()
' If dtRootMenu.Rows.Count <> 0 Then
' For Each row As DataRow In dtRootMenu.Rows
' Dim image As Bitmap = LoadImage(row.Item("ICON_PATH"))
' subitem = New ToolStripMenuItem(row.Item("MENU_ENTRY"), image)
' items.Insert(0, subitem)
' Dim dtSubMenu As DataTable
' Dim MenuID As Integer = row.Item("GUID")
' Sql = "SELECT * FROM TBPMO_MENU_FORM_ENTRIES WHERE MENU_FORM_ID = " & MenuID
' dtSubMenu = ClassDatabase.Return_Datatable(Sql)
' If dtSubMenu.Rows.Count <> 0 Then
' For Each subRow As DataRow In dtSubMenu.Rows
' Dim subimage As Bitmap = LoadImage(subRow.Item("ICON_PATH"))
' Dim formTitle As String = subRow.Item("MENU_ENTRY")
' Dim newItem As ToolStripMenuItem = New ToolStripMenuItem(formTitle, subimage, AddressOf MenuItemClick)
' newItem.Tag = subRow.Item("FORM_ID")
' subitem.DropDownItems.Add(newItem)
' Next 'subrow
' End If 'subrow count
' Next 'row
' End If ' row count
' Catch ex As Exception
' MsgBox("Error in LoadMenuItems 1:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
' End Try
' Try
' Dim SQL2 As String = "SELECT * FROM TBPMO_FORM_CONSTRUCTOR ORDER BY SEQUENCE_MENU"
' Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL2)
' Dim image2 As Bitmap = LoadNoImage()
' If dt.Rows.Count <> 0 Then
' tstripQuick.Items.Clear()
' If Sett_ShowQuickMenue = True Then
' tstripQuick.Visible = True
' Else
' tstripQuick.Visible = False
' ClassLogger.Add(">> Sett_ShowQuickMenue = False", False)
' End If
' For Each row As DataRow In dt.Rows
' If Not IsDBNull(row.Item("MENU_IMG")) Then
' Dim bimg() As Byte = row.Item("MENU_IMG")
' Dim bitmap As Bitmap = ByteArrayToBitmap(bimg)
' image2 = bitmap
' End If
' ' Kombinierte Bewegungsdaten in QuickAccess Menu laden
' Dim btn As New ToolStripButton(row.Item("FORM_TITLE"), image2, AddressOf QuickAccessClick)
' Dim index As Integer = row.Item("SEQUENCE_MENU")
' btn.Tag = row.Item("GUID")
' btn.TextAlign = ContentAlignment.MiddleLeft
' btn.ImageAlign = ContentAlignment.MiddleLeft
' tstripQuick.Items.Insert(index, btn)
' Next
' Else
' ClassLogger.Add(">> Keine FormConstructorMenüs vorhanden!", False)
' End If
' 'Calender add
' Dim calitem As New ToolStripMenuItem("Kalender", My.Resources.calendar)
' items.Add(New ToolStripSeparator())
' items.Add(calitem)
' AddHandler subitem.Click, AddressOf Calender_open
' Catch ex As Exception
' MsgBox("Error in LoadMenuItems 2:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
' End Try
'End Sub
Private Sub BarButtonItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
Dim formId As Integer = Integer.Parse(e.Item.Tag)
Cursor = Cursors.WaitCursor
OpenFormInputFor(formId, 1)
Cursor = Cursors.Default
End Sub
Private Sub ToolbarButtonItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
Dim formId As Integer = Integer.Parse(e.Item.Tag)
Cursor = Cursors.WaitCursor
OpenFormConstructor(formId)
Cursor = Cursors.Default
End Sub
Private Sub NavbarItem_Click(sender As Object, e As NavBarLinkEventArgs)
Dim formID As Integer = Integer.Parse(e.Link.Item.Tag)
Cursor = Cursors.WaitCursor
OpenFormConstructor(formID)
Cursor = Cursors.Default
End Sub
Private Sub MenuItemClick(sender As Object, e As EventArgs)
Dim item As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
Dim formId As Integer = Integer.Parse(item.Tag)
Console.WriteLine(item.Tag)
Cursor = Cursors.WaitCursor
OpenFormInputFor(formId, 1)
Cursor = Cursors.Default
End Sub
Private Sub MenuItem2Click(sender As Object, e As EventArgs)
Dim item As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
Dim formId As Integer = Integer.Parse(item.Tag)
Console.WriteLine(item.Tag)
Cursor = Cursors.WaitCursor
OpenFormConstructor(formId)
Cursor = Cursors.Default
End Sub
Private Shared Sub QuickAccessClick(sender As Object, e As EventArgs)
Dim btn As ToolStripButton = CType(sender, ToolStripButton)
Dim formId As Integer
formId = Integer.Parse(sender.tag)
OpenFormConstructor(formId)
End Sub
Private Sub SetBackground()
Dim ctrl As Control
Dim ctrlMDI As MdiClient
For Each ctrl In Me.Controls
Try
ctrlMDI = CType(ctrl, MdiClient)
ctrlMDI.BackColor = Me.BackColor
Catch ex As Exception
End Try
Next
End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
' Form Titel setzen
Me.Text = Application.ProductName
' Logger initialisieren
ClassLogger.Init("", Environment.UserName)
' Status Labels setzen
LabelVersion.Caption = String.Format("Version {0}", My.Application.Info.Version.ToString)
LabelUser.Caption = Environment.UserName
LabelMachine.Caption = My.Computer.Name
SetBackground()
Settings_Load()
If MyConnectionString <> String.Empty Then
ClassDatabase.Init()
Else
frmConfig_Basic.ShowDialog()
ClassDatabase.Init()
End If
Settings_LoadBasicConfig()
VWPMO_WF_USER_ACTIVETableAdapter.Connection.ConnectionString = MyConnectionString
VWPMO_WF_USER_ACTIVETableAdapter.Connection.ConnectionString = MyConnectionString
Dim sql = sql_UserID
sql = sql.Replace("@user", Environment.UserName)
ClassLogger.Add(">> Username: " & Environment.UserName, False)
USER_GUID = ClassDatabase.Execute_Scalar(sql)
If USER_GUID Is Nothing Then
ClassLogger.Add(" - User: " & Environment.UserName & " nicht in der Userverwaltung hinterlegt!", False)
MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Me.Close()
Else
sql = "SELECT MODULE_RECORD_ORG FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
sql = sql.Replace("@user", Environment.UserName)
If ClassDatabase.Execute_Scalar(sql) = False Then
ClassLogger.Add(" - User: " & Environment.UserName & " nicht für Modul freigegben!", False)
MsgBox("Achtung: Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Me.Close()
Else
'Am System anmelden
sql = sql_User_Login
sql = sql.Replace("@LogInOut", 1)
sql = sql.Replace("@ANGEMELDETWO", Environment.MachineName)
sql = sql.Replace("@user", Environment.UserName)
ClassDatabase.Execute_non_Query(sql)
sql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE) VALUES (" & USER_GUID & ",'RECORD_ORGANIZER')"
ClassDatabase.Execute_non_Query(sql)
sql = "SELECT RECORD_ADMIN FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
sql = sql.Replace("@user", Environment.UserName)
Console.WriteLine(ClassDatabase.Execute_Scalar(sql))
USER_IS_ADMIN = ClassDatabase.Execute_Scalar(sql)
If USER_IS_ADMIN = True Then
'Admin
pageAdmin.Visible = True
End If
sql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE MODULE = 'RECORD_ORGANIZER'"
Dim anzahl = ClassDatabase.Execute_Scalar(sql)
'tslblUserLoggedin.Text = "Anzahl Angemeldete User: " & anzahl.ToString
LabelLoggedIn.Caption = "Anzahl Angemeldete User: " & anzahl.ToString
End If
End If
'LoadMenuItems()
LoadMenuItems2()
LoadQuickStartItems()
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmMain")
' ToolStripManager.LoadSettings(Me)
Catch ex As Exception
MsgBox("Error in Load Form:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Sub Refresh_TaskReminder()
Try
Me.VWPMO_WF_USER_ACTIVETableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_WF_USER_ACTIVE, Environment.UserName)
If DD_DMSDataSet.VWPMO_WF_USER_ACTIVE.Rows.Count > 0 Then
NotifyIcon1.Visible = True
NotifyIcon1.ShowBalloonTip(50000, "Unerledigte Tasks", "Sie haben unerledigte Tasks in Ihrem Verantwortungsbereich." & vbNewLine & "Bitte überprüfen Sie Ihre Workflow-Tasks", ToolTipIcon.Info)
End If
Catch ex As Exception
MsgBox("Error in Refresh_TaskReminder:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub EbenenKonfiguratorToolStripMenuItem_Click(sender As Object, e As EventArgs)
Cursor = Cursors.WaitCursor
OpenFormOverview()
Cursor = Cursors.Default
End Sub
Private Sub DaenbankverbindungToolStripMenuItem_Click(sender As Object, e As EventArgs)
frmConfig_Basic.ShowDialog()
End Sub
Private Sub KalenderToolStripMenuItem_Click(sender As Object, e As EventArgs)
Cursor = Cursors.WaitCursor
OpenFormCalendar()
Cursor = Cursors.Default
End Sub
Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs)
Me.Close()
End Sub
Private Sub FormateProduktionenToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenFormConstructor(1)
End Sub
Private Sub WorkflowTaskmanagementToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenTaskmanagement()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Refresh_TaskReminder()
End Sub
Private Sub frmMain_Resize(sender As Object, e As EventArgs) Handles Me.Resize
' Repaint Form on Resize End
Me.Invalidate(True)
Me.Update()
End Sub
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Refresh_TaskReminder()
Timer1.Start()
End Sub
Private Sub Workflow_Taskmanagement_Click(sender As Object, e As EventArgs) Handles NotifyIcon1.Click
End Sub
Private Sub DokumentartkonfigurationToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenDokumentartt()
End Sub
Private Sub MenuKonfigurationToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenMenuDesigner()
End Sub
Private Sub UserKonfigurationToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenUserKonfig()
End Sub
Private Sub InfoToolStripMenuItem_Click(sender As Object, e As EventArgs)
AboutBox1.ShowDialog()
End Sub
Private Sub ImageManagerToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenImageManager()
End Sub
Private Sub tsQuickMenue_LocationChanged(sender As Object, e As EventArgs)
'Console.WriteLine("locChanged" & tsQuickMenue.Location.ToString)
'If tsQuickMenue.Location.ToString <> "{X=0,Y=0}" Then
' SaveMySettingsValue("tsQuickMenueLocation", tsQuickMenue.Location.ToString)
'End If
End Sub
Private Sub GrundeinstellungenWindreamToolStripMenuItem_Click(sender As Object, e As EventArgs)
OpenObjecttypeConfig()
End Sub
Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs)
End Sub
Private Sub GrundeinstellungenToolStripMenuItem_Click(sender As Object, e As EventArgs)
frmConfiguration_Basic.ShowDialog()
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem1.ItemClick
OpenFormCalendar()
End Sub
Private Sub itemInfo_ItemClick(sender As Object, e As ItemClickEventArgs) Handles itemInfo.ItemClick
AboutBox1.ShowDialog()
End Sub
Private Sub itemExit_ItemClick(sender As Object, e As ItemClickEventArgs) Handles itemExit.ItemClick
Me.Close()
End Sub
Private Sub itemSettings_ItemClick(sender As Object, e As ItemClickEventArgs) Handles itemSettings.ItemClick
frmConfig_Basic.ShowDialog()
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem3.ItemClick
Cursor = Cursors.WaitCursor
OpenFormOverview()
Cursor = Cursors.Default
End Sub
Private Sub BarButtonItem4_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem4.ItemClick
OpenTaskmanagement()
End Sub
Private Sub BarButtonItem5_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem5.ItemClick
OpenUserKonfig()
End Sub
Private Sub BarButtonItem6_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem6.ItemClick
OpenMenuDesigner()
End Sub
Private Sub BarButtonItem7_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem7.ItemClick
OpenImageManager()
End Sub
Private Sub BarButtonItem8_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem8.ItemClick
OpenDokumentartt()
End Sub
Private Sub BarButtonItem9_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem9.ItemClick
OpenObjecttypeConfig()
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem2.ItemClick
frmConfiguration_Basic.ShowDialog()
End Sub
Private Sub BarButtonItem10_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem10.ItemClick
frmConfig_Basic.ShowDialog()
End Sub
Private Sub BarButtonItem12_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem12.ItemClick
OpenWiedervorlage()
End Sub
Private Sub BarButtonItem13_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem13.ItemClick
OpenLogRecord()
End Sub
Private Sub BarButtonItem14_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem14.ItemClick
Dim frm As New frmConnections
frm.MdiParent = Me
frm.Show()
End Sub
Private Sub BarButtonItem16_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem16.ItemClick
Dim frm As New frmConstructorDesigner
frm.MdiParent = Me
frm.Show()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs)
frmTestvb.Show()
End Sub
End Class