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