diff --git a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb index d77aeb7..211928b 100644 --- a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb +++ b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb @@ -11,9 +11,9 @@ Public Class ClassAllgemeineFunktionen End If Dim Sql As String If LoginOut = "LOGIN" Then - Sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Process-Manager','{2}','{3}')", CURRENT_USER_ID, 1, My.Application.Info.Version.ToString, Environment.MachineName) + Sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Process-Manager','{2}','{3}')", USER_ID, 1, My.Application.Info.Version.ToString, Environment.MachineName) Else - Sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & CURRENT_USER_ID & " AND UPPER(MODULE) = UPPER('Process-Manager')" + Sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Process-Manager')" End If If ClassDatabase.Execute_non_Query(Sql, True) = True Then If LogErrorsOnly = False Then ClassLogger.Add(" >> User logged in....", False) diff --git a/app/DD_PM_WINDREAM/ClassInit.vb b/app/DD_PM_WINDREAM/ClassInit.vb index 7950f73..db2932d 100644 --- a/app/DD_PM_WINDREAM/ClassInit.vb +++ b/app/DD_PM_WINDREAM/ClassInit.vb @@ -80,50 +80,86 @@ Public Class ClassInit Public Sub InitUserLogin() Try USER_USERNAME = Environment.UserName - Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE LOWER(USERNAME) = LOWER('{0}')", Environment.UserName) + Try + DT_CLIENT_USER = ClassDatabase.Return_Datatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False) + If DT_CLIENT_USER.Rows.Count > 1 Then + frmClientLogin.ShowDialog() + ElseIf DT_CLIENT_USER.Rows.Count = 1 Then + CLIENT_SELECTED = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID") + + ClassLogger.Add("User '" & USER_USERNAME & "' not related to a client", True) + Else + 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") + 'Me.Close() + ERROR_STATE = "NO CLIENT" + ' Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!") + MsgBox("You are not related to a client!" & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation) + Exit Sub + End If + Catch ex As Exception + ClassLogger.Add("Unexpected error in checking CLIENT: " & ex.Message) + CLIENT_SELECTED = 1 + End Try + ClassLogger.Add(">> Username: " & USER_USERNAME, False) + Dim sql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','PM',{1})", Environment.UserName, CLIENT_SELECTED) - Dim dtUser As DataTable = ClassDatabase.Return_Datatable(sql) - If dtUser.Rows.Count = 0 Then + Dim DT_CHECKUSER_MODULE As DataTable = ClassDatabase.Return_Datatable(sql) + If DT_CHECKUSER_MODULE.Rows.Count = 0 Then + ClassLogger.Add("DT_CHECKUSER_MODULE.Rows.Count = 0", True) - ClassLogger.Add("User '" & USER_USERNAME & "' not configured in Useradministration! (DBNull)", True) - 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") - 'Me.Close() ERROR_STATE = "NO USER" - ' Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!") - MsgBox("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation) - Else - USER_EXISTS = True - CURRENT_USER_ID = dtUser.Rows(0).Item("GUID") - CURRENT_USER_SURNAME = IIf(IsDBNull(dtUser.Rows(0).Item("NAME")), "", dtUser.Rows(0).Item("NAME")) - CURRENT_USER_PRENAME = IIf(IsDBNull(dtUser.Rows(0).Item("PRENAME")), "", dtUser.Rows(0).Item("PRENAME")) - CURRENT_USER_SHORTNAME = IIf(IsDBNull(dtUser.Rows(0).Item("SHORTNAME")), "", dtUser.Rows(0).Item("SHORTNAME")) - CURRENT_USER_EMAIL = IIf(IsDBNull(dtUser.Rows(0).Item("EMAIL")), "", dtUser.Rows(0).Item("EMAIL")) - CURRENT_USER_LANGUAGE = dtUser.Rows(0).Item("LANGUAGE") + + MsgBox("Sorry - Something went wrong in getting Your rights." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation) + Exit Sub + End If + + + If DT_CHECKUSER_MODULE.Rows.Count = 1 Then + If DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") <> 0 Then + USER_EXISTS = True + Else + USER_EXISTS = False + End If + + USER_ID = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") + USER_SURNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")) + USER_PRENAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")) + USER_SHORTNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")) + USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")) + USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE") + + USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS") + USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN") + USER_RIGHT_FILE_DELETE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL") + + USERCOUNT_LOGGED_IN = DT_CHECKUSER_MODULE.Rows(0).Item("USERCOUNT_LOGGED_IN") If LogErrorsOnly = False Then ClassLogger.Add(" >> User exists....", False) - 'Am System anmelden - Refresh_Licence() - Check_User_Exists_in_PMGroups() + 'Am System anmelden + Refresh_Licence() + 'Check_User_Exists_in_PMGroups() ClassAllgemeineFunktionen.LoginOut("LOGIN") - sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Process-Manager') AND CLIENT_ID = {0}", 1) - USERCOUNT_LOGGED_IN = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) + 'sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Process-Manager') AND CLIENT_ID = {0}", 1) + ' USERCOUNT_LOGGED_IN = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) + sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE = 'Process-Manager'" + ClassDatabase.Execute_non_Query(sql, True) If LogErrorsOnly = False Then ClassLogger.Add(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False) - If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then - MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") - ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Process Manager!", False) - If USER_IS_ADMIN = False Then - ClassAllgemeineFunktionen.LoginOut("LOGOUT") - ClassLogger.Add(" - Wieder abgemeldet - START INCOMPLETE", False) - ERROR_STATE = "START INCOMPLETE" + If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then + MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") + ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Process Manager!", False) + If USER_IS_ADMIN = False Then + ClassAllgemeineFunktionen.LoginOut("LOGOUT") + ClassLogger.Add(" - Wieder abgemeldet - START INCOMPLETE", False) + ERROR_STATE = "START INCOMPLETE" + End If End If + 'Alles OK bis hierhin...nun die FolderwatchKonfig laden + If LogErrorsOnly = False Then ClassLogger.Add(" >> Init Userlogin successfull completed....", False) End If - 'Alles OK bis hierhin...nun die FolderwatchKonfig laden - If LogErrorsOnly = False Then ClassLogger.Add(" >> Init Userlogin successfull completed....", False) - End If @@ -147,7 +183,7 @@ Public Class ClassInit End Sub Private Function Check_User_Exists_in_Group(ByVal Groupname As String) Try - Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = '{1}'", CURRENT_USER_ID, Groupname) + Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = '{1}'", USER_ID, Groupname) Dim DT As DataTable = ClassDatabase.Return_Datatable(sel) If Not IsNothing(DT) Then If DT.Rows.Count = 1 Then @@ -163,43 +199,43 @@ Public Class ClassInit Return False End Try End Function - Private Function Check_User_Exists_in_PMGroups() - Try - Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'PM_USER'", CURRENT_USER_ID) - Dim DT As DataTable = ClassDatabase.Return_Datatable(sel) - If Not IsNothing(DT) Then - If DT.Rows.Count = 1 Then - If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_USER-Group....", False) - USER_IN_MODULE = True - Else - If LogErrorsOnly = False Then ClassLogger.Add(" >> User is NOT in PM_USER-Group...." & sel, False) - sel = String.Format("select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = {0} AND T.MODULE_ID = 3", CURRENT_USER_ID) - DT = ClassDatabase.Return_Datatable(sel) - If Not IsNothing(DT) Then - If DT.Rows.Count = 1 Then - If LogErrorsOnly = False Then ClassLogger.Add(" >> Singe User-relation defined for user....", False) - USER_IN_MODULE = True - USER_IS_ADMIN = DT.Rows(0).Item("IS_ADMIN") - USER_RIGHT_FILE_DELETE = DT.Rows(0).Item("RIGHT1") - End If - End If - End If - End If - sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'PM_ADMINS'", CURRENT_USER_ID) - DT = ClassDatabase.Return_Datatable(sel) + 'Private Function Check_User_Exists_in_PMGroups() + ' Try + ' Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'PM_USER'", USER_ID) + ' Dim DT As DataTable = ClassDatabase.Return_Datatable(sel) + ' If Not IsNothing(DT) Then + ' If DT.Rows.Count = 1 Then + ' If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_USER-Group....", False) + ' USER_IN_MODULE = True + ' Else + ' If LogErrorsOnly = False Then ClassLogger.Add(" >> User is NOT in PM_USER-Group...." & sel, False) + ' sel = String.Format("select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = {0} AND T.MODULE_ID = 3", USER_ID) + ' DT = ClassDatabase.Return_Datatable(sel) + ' If Not IsNothing(DT) Then + ' If DT.Rows.Count = 1 Then + ' If LogErrorsOnly = False Then ClassLogger.Add(" >> Singe User-relation defined for user....", False) + ' USER_IN_MODULE = True + ' USER_IS_ADMIN = DT.Rows(0).Item("IS_ADMIN") + ' USER_RIGHT_FILE_DELETE = DT.Rows(0).Item("RIGHT1") + ' End If + ' End If + ' End If + ' End If + ' sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'PM_ADMINS'", USER_ID) + ' DT = ClassDatabase.Return_Datatable(sel) - If Not IsNothing(DT) Then - If DT.Rows.Count = 1 Then - If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_ADMINS-Group....", False) - USER_IS_ADMIN = True - USER_IN_MODULE = True - Else - If LogErrorsOnly = False Then ClassLogger.Add(" >> User is NOT in PM_ADMINS-Group...." & sel, False) - End If - End If + ' If Not IsNothing(DT) Then + ' If DT.Rows.Count = 1 Then + ' If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_ADMINS-Group....", False) + ' USER_IS_ADMIN = True + ' USER_IN_MODULE = True + ' Else + ' If LogErrorsOnly = False Then ClassLogger.Add(" >> User is NOT in PM_ADMINS-Group...." & sel, False) + ' End If + ' End If - Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Check_User_Exists_in_PMGroups:") - End Try - End Function + ' Catch ex As Exception + ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Check_User_Exists_in_PMGroups:") + ' End Try + 'End Function End Class diff --git a/app/DD_PM_WINDREAM/ClassUser.vb b/app/DD_PM_WINDREAM/ClassUser.vb index 6863fe2..182b475 100644 --- a/app/DD_PM_WINDREAM/ClassUser.vb +++ b/app/DD_PM_WINDREAM/ClassUser.vb @@ -1,7 +1,7 @@ Public Class ClassUser Public Shared Function Check_User_Exists_in_UMGroups() Try - Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'UM_ADMINS'", CURRENT_USER_ID) + Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'UM_ADMINS'", USER_ID) Dim DT As DataTable = ClassDatabase.Return_Datatable(sel) If Not IsNothing(DT) Then If DT.Rows.Count = 1 Then diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj index 7e79161..570241d 100644 --- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj +++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj @@ -199,6 +199,12 @@ Form + + frmClientLogin.vb + + + Form + frmConnection.vb @@ -320,6 +326,12 @@ frmAnnotations.vb + + frmClientLogin.vb + + + frmClientLogin.vb + frmConnection.vb Designer diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb index 0f12b18..3e610c7 100644 --- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb +++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb @@ -14,20 +14,21 @@ Module ModuleRuntimeVariables Public CURRENT_DOC_PATH As String Public ERROR_STATE = "" - Public USER_IS_ADMIN As Boolean = False + Public USER_USERNAME As String Public DT_USER2MODULE As DataTable - Public CURRENT_USER_ID - Public CURRENT_USER_PRENAME - Public CURRENT_USER_SURNAME - Public CURRENT_USER_SHORTNAME - Public CURRENT_USER_EMAIL - Public CURRENT_USER_LANGUAGE As String = "de-DE" - + Public USER_IS_ADMIN As Boolean = False + Public USER_ID + Public USER_PRENAME + Public USER_SURNAME + Public USER_SHORTNAME + Public USER_EMAIL + Public USER_LANGUAGE As String = "de-DE" Public USER_EXISTS = False Public USER_IN_MODULE = False Public USER_RIGHT_FILE_DELETE As Boolean = False + Public LICENSE_COUNT As Integer = 0 Public LICENSE_EXPIRED As Boolean = False Public LICENSE_PROFILES As Integer = 0 @@ -43,6 +44,9 @@ Module ModuleRuntimeVariables Public CURRENT_CLICKED_PROFILE_ID As Integer = 0 Public CURRENT_CLICKED_PROFILE_TITLE As String + Public DT_CLIENT_USER As DataTable + Public CLIENT_SELECTED As Integer = 0 + Public CURR_CON_ID As Integer Public CURR_SELECT_CONTROL As String Public CURR_CHOICE_LIST As String diff --git a/app/DD_PM_WINDREAM/frmClientLogin.designer.vb b/app/DD_PM_WINDREAM/frmClientLogin.designer.vb new file mode 100644 index 0000000..8a24963 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmClientLogin.designer.vb @@ -0,0 +1,77 @@ + _ +Partial Class frmClientLogin + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmClientLogin)) + Me.Label1 = New System.Windows.Forms.Label() + Me.cmbClients = New System.Windows.Forms.ComboBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.btnLogin = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'cmbClients + ' + resources.ApplyResources(Me.cmbClients, "cmbClients") + Me.cmbClients.FormattingEnabled = True + Me.cmbClients.Name = "cmbClients" + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" + ' + 'btnLogin + ' + resources.ApplyResources(Me.btnLogin, "btnLogin") + Me.btnLogin.Name = "btnLogin" + Me.btnLogin.UseVisualStyleBackColor = True + ' + 'frmClientLogin + ' + Me.AcceptButton = Me.btnLogin + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.SystemColors.ControlLight + Me.ControlBox = False + Me.Controls.Add(Me.btnLogin) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.cmbClients) + Me.Controls.Add(Me.Label1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmClientLogin" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents cmbClients As System.Windows.Forms.ComboBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents btnLogin As System.Windows.Forms.Button +End Class diff --git a/app/DD_PM_WINDREAM/frmClientLogin.en.resx b/app/DD_PM_WINDREAM/frmClientLogin.en.resx new file mode 100644 index 0000000..8e0571a --- /dev/null +++ b/app/DD_PM_WINDREAM/frmClientLogin.en.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 421, 16 + + + Your User is configured for more than one cleint. Please choose a client. + + + 287, 14 + + + Your license will be charged on the selected client. + + + Client Login + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmClientLogin.resx b/app/DD_PM_WINDREAM/frmClientLogin.resx new file mode 100644 index 0000000..8019f34 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmClientLogin.resx @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + True + + + + Tahoma, 9.75pt + + + 12, 9 + + + 486, 16 + + + 0 + + + Ihr User ist für mehrere Mandanten konfiguriert. Bitte wählen Sie einen Mandanten. + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + Tahoma, 9.75pt + + + 15, 56 + + + 472, 24 + + + 1 + + + cmbClients + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + Tahoma, 9pt, style=Italic + + + 12, 31 + + + 440, 14 + + + 2 + + + Ihre Userlizenz wird vom Kontingent des ausgewählten Mandanten abgezogen. + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Tahoma, 9.75pt + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGdSURBVFhH7ZM9boQwEIU5Qo6QI+QM9Ehp6VLQc4vt6ZFS + UuYG9FS5AkWShsKJxE9JeNYMMcYQbFixivKkT9r1zLw3XhZvr7quu2+a5rltWzHQEwJnqFHbdVTX9YMW + rCPQQ+3HCrdDAILyPO/DMOx935fgM854iav8EvSzyyAO1uEl0Etjxwk3g7l6cx3U0INeGjtOZGwMVuE+ + GjtON7PAaY/g9D/hKa8hGe6G7OxlMnOB7OzFBupzBpfLZRaCM72Pa2RnLzbQjYG6hCkccJ3sljX8ax+H + xhce0DGZAwQvhQOep5i5hBB3/HqtEUWRMeA3eJ7i5uLwqqrkTYIgGIfxGWeooSeO44n5FlYXGN7VJxTL + spwE66CGHiyi972/fUjUM5XVBYbCK4rqzdI07YuikOAzn6MHvUmSjGfAeQE8exRwK27OsmwcYHCmmmEx + /r4F9qHYH/ECLpiCluAZip1KNbXBFLQEz1DkVLaG3O8CRU7FRVOYCdXQFoqciot60Kf4kujnq2Yu+l/g + ZhdY4u8uYAuN75fJfAs07ijP+wYj01KCKhcnhQAAAABJRU5ErkJggg== + + + + MiddleLeft + + + 15, 86 + + + 472, 42 + + + 3 + + + Login + + + btnLogin + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 13 + + + 499, 142 + + + Tahoma, 8.25pt + + + + CenterScreen + + + Mandanten Login + + + frmClientLogin + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmClientLogin.vb b/app/DD_PM_WINDREAM/frmClientLogin.vb new file mode 100644 index 0000000..f84a695 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmClientLogin.vb @@ -0,0 +1,29 @@ +Public Class frmClientLogin + + Private Sub frmClientLogin_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If cmbClients.SelectedIndex = -1 Or CLIENT_SELECTED = 99 Then + MsgBox("Please select a client from the dropdown-list.", MsgBoxStyle.Exclamation) + e.Cancel = True + End If + End Sub + + Private Sub frmClientLogin_Load(sender As Object, e As EventArgs) Handles Me.Load + Try + cmbClients.DataSource = DT_CLIENT_USER + cmbClients.DisplayMember = DT_CLIENT_USER.Columns("CLIENT_NAME").ColumnName + cmbClients.ValueMember = DT_CLIENT_USER.Columns("CLIENT_ID").ColumnName + Catch ex As Exception + MsgBox("Unexpected Error in Loading Data: " & ex.Message, MsgBoxStyle.Critical) + End Try + End Sub + + Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click + If cmbClients.SelectedIndex <> -1 Then + CLIENT_SELECTED = cmbClients.SelectedValue + Me.Close() + Else + MsgBox("Please select a client from the dropdown-list.", MsgBoxStyle.Exclamation) + Exit Sub + End If + End Sub +End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index 70eaede..9f3f6c1 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -285,7 +285,7 @@ Public Class frmMain End Sub Function Load_Profiles_for_User() As Boolean Try - Dim sql = String.Format("SELECT T.* FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({0}))", CURRENT_USER_ID) + Dim sql = String.Format("SELECT T.* FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({0}))", USER_ID) CURR_DT_VWPM_PROFILE_ACTIVE = ClassDatabase.Return_Datatable(sql) If IsNothing(CURR_DT_VWPM_PROFILE_ACTIVE) Then @@ -379,7 +379,7 @@ Public Class frmMain Dim value = row.Item("VALUE") Dim argument = row.Item("ARGUMENT") Dim sqlchart = row.Item("SQL_COMMAND") - sqlchart = sqlchart.ToString.ToUpper.Replace("@USER_ID", CURRENT_USER_ID) + sqlchart = sqlchart.ToString.ToUpper.Replace("@USER_ID", USER_ID) sqlchart = sqlchart.ToString.ToUpper.Replace("@USER", USER_USERNAME) Dim DATA_DT As DataTable = ClassDatabase.Return_Datatable(sqlchart) @@ -488,7 +488,7 @@ Public Class frmMain lblViewType.Text = "Detailansicht Profil: " & CURRENT_CLICKED_PROFILE_TITLE Dim sql = foundRows(0)("SQL_VIEW") - sql = sql.Replace("@USER_ID", CURRENT_USER_ID) + sql = sql.Replace("@USER_ID", USER_ID) sql = sql.Replace("@USERNAME", Environment.UserName) sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) sql = sql.Replace("@DATE", Now.ToShortDateString) @@ -607,7 +607,7 @@ Public Class frmMain ClassInit.InitBasics() Dim sql = CURRENT_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") - sql = sql.Replace("@USER_ID", CURRENT_USER_ID) + sql = sql.Replace("@USER_ID", USER_ID) sql = sql.Replace("@USERNAME", Environment.UserName) sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) sql = sql.Replace("@DATE", Now.ToShortDateString) @@ -925,7 +925,7 @@ Public Class frmMain End If End If If PROFILE_ID <> CURRENT_ProfilGUID Then - If CURRENT_USER_LANGUAGE <> "de_DE" Then + If USER_LANGUAGE <> "de_DE" Then MsgBox("Sorry but You can only mass-validate docs which belong to he same profile!", MsgBoxStyle.Exclamation) Else MsgBox("Bitte bachten Sie dass Sie nur Dokumente, welche zum gleichen Profil gehören, mit der Massenfunktion bearbeiten können!", MsgBoxStyle.Exclamation) @@ -974,7 +974,7 @@ Public Class frmMain lblViewType.Text = "Gesamtübersicht" Cursor = Cursors.WaitCursor Try - Dim sel = String.Format("SELECT * FROM VWPM_PROFILE_USER WHERE USER_ID ={0}", CURRENT_USER_ID) + Dim sel = String.Format("SELECT * FROM VWPM_PROFILE_USER WHERE USER_ID ={0}", USER_ID) CURRENT_DT_VW_PROFILE_USER = ClassDatabase.Return_Datatable(sel, True) tslblmessage.Text = "" @@ -996,7 +996,7 @@ Public Class frmMain tslblmessage.Text = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig" Exit Sub End If - sql = sql.Replace("@USER_ID", CURRENT_USER_ID) + sql = sql.Replace("@USER_ID", USER_ID) sql = sql.Replace("@USERNAME", Environment.UserName) sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) sql = sql.Replace("@DATE", Now.ToShortDateString) diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb index 743b064..dc35a3b 100644 --- a/app/DD_PM_WINDREAM/frmMassValidator.vb +++ b/app/DD_PM_WINDREAM/frmMassValidator.vb @@ -109,10 +109,10 @@ Public Class frmMassValidator 'End Try 'Me.lblerror.Visible = False - If CURRENT_USER_LANGUAGE <> "de-DE" Then - btnSave.Text = String.Format("Finish all documents (#{0})", CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count.ToString) - Else - btnSave.Text = String.Format("Alle Dokumente (#{0}) abschliessen.", CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count.ToString) + If USER_LANGUAGE <> "de-DE" Then + btnSave.Text = String.Format("Finish all documents (#{0})", CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count.ToString) + Else + btnSave.Text = String.Format("Alle Dokumente (#{0}) abschliessen.", CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count.ToString) End If End Sub @@ -608,7 +608,7 @@ Public Class frmMassValidator valueAllOver = tempIndexValue Else If valueAllOver <> tempIndexValue Then - If CURRENT_USER_LANGUAGE <> "de-DE" Then + If USER_LANGUAGE <> "de-DE" Then valueAllOver = "(Different values)" Else valueAllOver = "(Untersch. Werte)" @@ -700,7 +700,7 @@ Public Class frmMassValidator Dim displayboxname = ROW.Item(Name).ToString If Not IsDBNull(ROW.Item(1)) And Not IsDBNull(ROW.Item(2)) Then Dim sql_Statement = ROW.Item(2) - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) _dependingControl_in_action = True Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) @@ -774,7 +774,7 @@ Public Class frmMassValidator If Not IsDBNull(ROW.Item("CONNECTION_ID")) And Not IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")) Then Dim sql_Statement = ROW.Item("SQL_UEBERPRUEFUNG") - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) _dependingControl_in_action = True @@ -1062,15 +1062,15 @@ Public Class frmMassValidator 'Wenn kein Fehler nach der finalen Indexierung gesetzt wurde If workedFiles = CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count Then - If CURRENT_USER_LANGUAGE = "de-DE" Then + If USER_LANGUAGE = "de-DE" Then MsgBox(String.Format("{0} Dateien wurden abgeschlossen!", workedFiles), MsgBoxStyle.Information, "Erfolgsmeldung:") - ElseIf CURRENT_USER_LANGUAGE = "en-US" Then + ElseIf USER_LANGUAGE = "en-US" Then MsgBox(String.Format("{0} files have been worked successfully!", workedFiles), MsgBoxStyle.Information, "Success:") End If Else - If CURRENT_USER_LANGUAGE = "de-DE" Then + If USER_LANGUAGE = "de-DE" Then MsgBox(String.Format("{0} von {1} Dateien wurden abgeschlossen! Bitte prüfen Sie das Log und informieren Ihren Sysadmin.", workedFiles, CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count), MsgBoxStyle.Information, "Achtung:") - ElseIf CURRENT_USER_LANGUAGE = "en-US" Then + ElseIf USER_LANGUAGE = "en-US" Then MsgBox(String.Format("{0} of {1} files have been worked successfully - Check the log And inform Your sysadmin!", workedFiles, CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count), MsgBoxStyle.Information, "Attention:") End If diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 18bbcdd..240ce2d 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -430,7 +430,7 @@ Public Class frmValidator Continue for End If - sql = clsPatterns.ReplaceUserValues(sqlStatement, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + sql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) sql = clsPatterns.ReplaceInternalValues(sql) If LogErrorsOnly = False Then ClassLogger.Add(">>> sql after ReplaceInternalValues: " & sql, False) 'sql = ClassPatterns.ReplaceInternalValues(sqlStatement) @@ -841,7 +841,7 @@ Public Class frmValidator Dim sql_Statement = ROW.Item(2) - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, aktivesDokument, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, aktivesDokument, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) If LogErrorsOnly = False Then ClassLogger.Add(">>> sql after ReplaceAllValues: " & sql, False) '' Regulären Ausdruck zum Auslesen der Indexe definieren 'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" @@ -966,7 +966,7 @@ Public Class frmValidator _Step = 2 Dim sql_Statement = IIf(IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")), "", ROW.Item("SQL_UEBERPRUEFUNG")) - sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, aktivesDokument, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, aktivesDokument, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) _Step = 3 If LogErrorsOnly = False Then ClassLogger.Add(">>> sql after ReplaceAllValues: " & sql, False) '' Regulären Ausdruck zum Auslesen der Indexe definieren @@ -2072,7 +2072,7 @@ Public Class frmValidator Dim SQL_COMMAND = dr.Item("SQL_COMMAND") If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND before ReplaceAllValues: " & SQL_COMMAND, False) - SQL_COMMAND = clsPatterns.ReplaceAllValues(SQL_COMMAND, pnldesigner, aktivesDokument, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + SQL_COMMAND = clsPatterns.ReplaceAllValues(SQL_COMMAND, pnldesigner, aktivesDokument, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL) If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND after ReplaceAllValues: " & SQL_COMMAND, False) '' Regulären Ausdruck zum Auslesen der Indexe definieren @@ -3088,4 +3088,8 @@ Public Class frmValidator Private Sub frmValidator_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing End Sub + + Private Sub frmValidator_Resize(sender As Object, e As EventArgs) Handles Me.Resize + + End Sub End Class \ No newline at end of file