diff --git a/app/DD_PM_WINDREAM/App.config b/app/DD_PM_WINDREAM/App.config index c5ec99d..d3c8393 100644 --- a/app/DD_PM_WINDREAM/App.config +++ b/app/DD_PM_WINDREAM/App.config @@ -6,7 +6,8 @@ - + @@ -40,6 +41,12 @@ 0, 0 + + 0, 0 + + + 0, 0 + diff --git a/app/DD_PM_WINDREAM/ClassControlCreator.vb b/app/DD_PM_WINDREAM/ClassControlCreator.vb index 8688d4b..fb538ad 100644 --- a/app/DD_PM_WINDREAM/ClassControlCreator.vb +++ b/app/DD_PM_WINDREAM/ClassControlCreator.vb @@ -350,4 +350,72 @@ Public Class ClassControlCreator e.Graphics.DrawLine(New Pen(ForeColor, 100), New Point(0, 0), New Point(e.ClipRectangle.Width, 2)) End Sub End Class + + Public Shared Function GET_CONTROL_PROPERTIES(DT_CONTROL As DataTable, ControlName As String) + Try + CURRENT_CONTROL_ID = 0 + CURR_CON_ID = 0 + CURR_SELECT_CONTROL = "" + CURR_CHOICE_LIST = "" + Dim dt As New DataTable + dt = DT_CONTROL + ' Define the filter + Dim filter As String = "NAME = '" & ControlName & "'" + ' Filter the rows using Select() method of DataTable + Dim FilteredRows As DataRow() = dt.Select(filter) + If FilteredRows.Count = 1 Then + For Each row As DataRow In FilteredRows + CURRENT_CONTROL_ID = row("GUID") + CURR_CON_ID = row("CONNECTION_ID") + CURR_SELECT_CONTROL = row("SQL_UEBERPRUEFUNG") + CURR_CHOICE_LIST = row("CHOICE_LIST") + Next + Return 1 + Else + Return 0 + End If + Catch ex As Exception + ClassLogger.Add("Unexpected Error in GET_CONTROL_PROPERTIES (" & ControlName & "):" & ex.Message) + Return 0 + End Try + + End Function + Public Shared Function GET_DEPENDING_CONTROLS(DT_CONTROLS As DataTable, ControlName As String) + Try + Dim dt As New DataTable + dt = DT_CONTROLS + ' Define the filter + Dim filter As String = String.Format("SQL_UEBERPRUEFUNG LIKE '%{0}%'", ControlName) + Dim FilteredRows As DataRow() = dt.Select(filter) + CURR_DT_DEPENDING_CONTROLS = Nothing + If FilteredRows.Length > 0 Then + CURR_DT_DEPENDING_CONTROLS = FilteredRows.CopyToDataTable + End If + + Return True + Catch ex As Exception + ClassLogger.Add("Unexpected Error in GET_DEPENDING_CONTROLS (" & ControlName & "):" & ex.Message) + Return 0 + End Try + End Function + Public Shared Function GET_CONNECTION_INFO(CON_ID As Integer) + Try + + Dim dt As New DataTable + dt = CURRENT_DT_TBDD_CONNECTION + ' Define the filter + Dim filter As String = "GUID = " & CON_ID + ' Filter the rows using Select() method of DataTable + Dim FilteredRows As DataRow() = dt.Select(filter) + If FilteredRows.Count = 1 Then + Return FilteredRows + Else + Return Nothing + End If + Catch ex As Exception + ClassLogger.Add("Unexpected Error in GET_CONNECTION_INFO (" & CON_ID.ToString & "):" & ex.Message) + Return Nothing + End Try + + End Function End Class diff --git a/app/DD_PM_WINDREAM/ClassInit.vb b/app/DD_PM_WINDREAM/ClassInit.vb index 4ea9370..7a5f5d2 100644 --- a/app/DD_PM_WINDREAM/ClassInit.vb +++ b/app/DD_PM_WINDREAM/ClassInit.vb @@ -83,12 +83,13 @@ Public Class ClassInit Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE LOWER(USERNAME) = LOWER('{0}')", Environment.UserName) ClassLogger.Add(">> Username: " & USER_USERNAME, False) - Dim dt As DataTable = ClassDatabase.Return_Datatable(sql) - CURRENT_USER_ID = dt.Rows(0).Item("GUID") - CURRENT_USER_SURNAME = dt.Rows(0).Item("NAME") - CURRENT_USER_PRENAME = dt.Rows(0).Item("PRENAME") - CURRENT_USER_SHORTNAME = dt.Rows(0).Item("SHORTNAME") - CURRENT_USER_EMAIL = dt.Rows(0).Item("EMAIL") + Dim dtUser As DataTable = ClassDatabase.Return_Datatable(sql) + CURRENT_USER_ID = dtUser.Rows(0).Item("GUID") + CURRENT_USER_SURNAME = dtUser.Rows(0).Item("NAME") + CURRENT_USER_PRENAME = dtUser.Rows(0).Item("PRENAME") + CURRENT_USER_SHORTNAME = dtUser.Rows(0).Item("SHORTNAME") + CURRENT_USER_EMAIL = dtUser.Rows(0).Item("EMAIL") + CURRENT_USER_LANGUAGE = dtUser.Rows(0).Item("LANGUAGE") If IsDBNull(CURRENT_USER_ID) Or IsNothing(CURRENT_USER_ID) Then USER_EXISTS = False @@ -139,6 +140,9 @@ Public Class ClassInit Try Dim sql = String.Format("select * from TBPM_KONFIGURATION WHERE GUID = 1") CURRENT_DT_CONFIG = ClassDatabase.Return_Datatable(sql) + + sql = "select * from TBDD_CONNECTION" + CURRENT_DT_TBDD_CONNECTION = ClassDatabase.Return_Datatable(sql) Catch ex As Exception ClassLogger.Add("Unexpected Error in InitBasics: " & ex.Message, True) ERROR_STATE = "Basics not initialized" diff --git a/app/DD_PM_WINDREAM/ClassPatterns.vb b/app/DD_PM_WINDREAM/ClassPatterns.vb index c85457d..1be5103 100644 --- a/app/DD_PM_WINDREAM/ClassPatterns.vb +++ b/app/DD_PM_WINDREAM/ClassPatterns.vb @@ -49,7 +49,7 @@ Public Class ClassPatterns result = ReplaceInternalValues(result) result = ReplaceControlValues(result, panel) - result = ReplaceWindreamIndicies(result, document) + If Not IsNothing(document) Then result = ReplaceWindreamIndicies(result, document) result = ReplaceUserValues(result, prename, surname, shortname, email) Return result diff --git a/app/DD_PM_WINDREAM/ClassWorkDoc.vb b/app/DD_PM_WINDREAM/ClassWorkDoc.vb new file mode 100644 index 0000000..0c1387d --- /dev/null +++ b/app/DD_PM_WINDREAM/ClassWorkDoc.vb @@ -0,0 +1,5 @@ +Public Class ClassWorkDoc + Public Shared Function WORK_HISTORY(DT_PROFIL As DataTable, single_doc As Boolean) + + End Function +End Class diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj index e31b773..caa1b57 100644 --- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj +++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj @@ -160,6 +160,7 @@ + frmAbout.vb @@ -229,6 +230,12 @@ Form + + frmMassValidator.vb + + + Form + frmProfileDesigner.vb @@ -329,6 +336,9 @@ frmMain.vb + + frmMassValidator.vb + frmProfileDesigner.vb Designer diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb index bbbcaae..aa07ebd 100644 --- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb +++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb @@ -23,6 +23,7 @@ Module ModuleRuntimeVariables Public CURRENT_USER_SURNAME Public CURRENT_USER_SHORTNAME Public CURRENT_USER_EMAIL + Public CURRENT_USER_LANGUAGE As String = "de-DE" Public USER_EXISTS = False Public USER_IN_MODULE = False @@ -36,10 +37,20 @@ Module ModuleRuntimeVariables Public CURRENT_SQL_CON As Integer Public CURRENT_SQL_COMAMND As String Public CURRENT_DT_SQL_CONFIG_TABLE As DataTable + Public CURRENT_DT_TBDD_CONNECTION As DataTable Public CURRENT_DT_CONFIG As DataTable Public CURRENT_CLICKED_PROFILE_ID As Integer = 0 Public CURRENT_CLICKED_PROFILE_TITLE As String + Public CURR_CON_ID As Integer + Public CURR_SELECT_CONTROL As String + Public CURR_CHOICE_LIST As String + + Public CURR_DT_DEPENDING_CONTROLS As DataTable 'enthält zur Laufzeit die abhängigen Controls + + + Public CURRENT_DT_MASS_CHANGE_DOCS As DataTable + Public CURRENT_DT_FINAL_INDEXING As DataTable Public CURRENT_DT_PROFILE As DataTable diff --git a/app/DD_PM_WINDREAM/My Project/Settings.Designer.vb b/app/DD_PM_WINDREAM/My Project/Settings.Designer.vb index d6cabee..e404cf5 100644 --- a/app/DD_PM_WINDREAM/My Project/Settings.Designer.vb +++ b/app/DD_PM_WINDREAM/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -180,6 +180,30 @@ Namespace My Me("frmValidatorPosition") = value End Set End Property + + _ + Public Property frmMassValidatorSize() As Global.System.Drawing.Size + Get + Return CType(Me("frmMassValidatorSize"),Global.System.Drawing.Size) + End Get + Set + Me("frmMassValidatorSize") = value + End Set + End Property + + _ + Public Property frmMassValidatorposition() As Global.System.Drawing.Point + Get + Return CType(Me("frmMassValidatorposition"),Global.System.Drawing.Point) + End Get + Set + Me("frmMassValidatorposition") = value + End Set + End Property End Class End Namespace diff --git a/app/DD_PM_WINDREAM/My Project/Settings.settings b/app/DD_PM_WINDREAM/My Project/Settings.settings index e8d06f7..a31be12 100644 --- a/app/DD_PM_WINDREAM/My Project/Settings.settings +++ b/app/DD_PM_WINDREAM/My Project/Settings.settings @@ -37,5 +37,11 @@ 0, 0 + + 0, 0 + + + 0, 0 + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmError.Designer.vb b/app/DD_PM_WINDREAM/frmError.Designer.vb index 863baff..d2e5ea1 100644 --- a/app/DD_PM_WINDREAM/frmError.Designer.vb +++ b/app/DD_PM_WINDREAM/frmError.Designer.vb @@ -85,7 +85,7 @@ Partial Class frmError Me.MinimizeBox = False Me.Name = "frmError" Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Fehlermeldung:" Me.TopMost = True Me.ResumeLayout(False) diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb index f0e5f08..bced4a2 100644 --- a/app/DD_PM_WINDREAM/frmFormDesigner.vb +++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb @@ -751,7 +751,7 @@ Public Class frmFormDesigner Dim fontSize As Integer = Math.Truncate(font.SizeInPoints) UpdateSingleValue("FONT_SIZE", fontSize) UpdateSingleValue("FONT_FAMILY", font.FontFamily.Name) - UpdateSingleValue("FONT_STYLE", font.Style.ToString) + UpdateSingleValue("FONT_STYLE", CInt(font.Style)) CurrentControl.Font = font Case "TextColor" @@ -785,10 +785,12 @@ Public Class frmFormDesigner End If Try - ClassDatabase.Execute_non_Query($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{Environment.UserName}' WHERE GUID = {guid}") + If ClassDatabase.Execute_non_Query($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{Environment.UserName}' WHERE GUID = {guid}", True) = True Then + tslblAenderungen.Visible = True + tslblAenderungen.Text = "Änderungen gespeichert - " & Now + End If + - tslblAenderungen.Visible = True - tslblAenderungen.Text = "Änderungen gespeichert - " & Now Catch ex As Exception Dim msg = $"UpdateSingleValue - Fehler beim Speichern von Control (Id: {guid}, column: {columnName}): {vbCrLf}{ex.Message}" MsgBox(msg) diff --git a/app/DD_PM_WINDREAM/frmMain.Designer.vb b/app/DD_PM_WINDREAM/frmMain.Designer.vb index 1a457fb..6190442 100644 --- a/app/DD_PM_WINDREAM/frmMain.Designer.vb +++ b/app/DD_PM_WINDREAM/frmMain.Designer.vb @@ -57,6 +57,11 @@ Partial Class frmMain Me.tslblmessage = New System.Windows.Forms.ToolStripStatusLabel() Me.Panel1 = New System.Windows.Forms.Panel() Me.GridControl_Docs = New DevExpress.XtraGrid.GridControl() + Me.ContextMenuGrid = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.CMGroupStart = New System.Windows.Forms.ToolStripMenuItem() + Me.CMFileStart = New System.Windows.Forms.ToolStripMenuItem() + Me.MarkierteDateienAbschliessenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabellenlayoutZurücksetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.GridView_Docs = New DevExpress.XtraGrid.Views.Grid.GridView() Me.lblViewType = New System.Windows.Forms.Label() Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl() @@ -66,11 +71,6 @@ Partial Class frmMain Me.NavBarGroupMore = New DevExpress.XtraNavBar.NavBarGroup() Me.NavBarItemOverview = New DevExpress.XtraNavBar.NavBarItem() Me.NavBarItemDashboard = New DevExpress.XtraNavBar.NavBarItem() - Me.ContextMenuGrid = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.CMGroupStart = New System.Windows.Forms.ToolStripMenuItem() - Me.CMFileStart = New System.Windows.Forms.ToolStripMenuItem() - Me.MarkierteDateienAbschliessenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.TabellenlayoutZurücksetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components) Me.TimerRefresh = New System.Windows.Forms.Timer(Me.components) Me.VWPM_PROFILE_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components) @@ -82,6 +82,18 @@ Partial Class frmMain Me.TBPM_PROFILE_FILESBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBPM_PROFILE_FILESTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_PROFILE_FILESTableAdapter() Me.TimerReminder = New System.Windows.Forms.Timer(Me.components) + Me.BindingNavigator1 = New System.Windows.Forms.BindingNavigator(Me.components) + Me.BindingNavigatorMoveFirstItem = New System.Windows.Forms.ToolStripButton() + Me.BindingNavigatorMovePreviousItem = New System.Windows.Forms.ToolStripButton() + Me.BindingNavigatorSeparator = New System.Windows.Forms.ToolStripSeparator() + Me.BindingNavigatorPositionItem = New System.Windows.Forms.ToolStripTextBox() + Me.BindingNavigatorCountItem = New System.Windows.Forms.ToolStripLabel() + Me.BindingNavigatorSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.BindingNavigatorMoveNextItem = New System.Windows.Forms.ToolStripButton() + Me.BindingNavigatorMoveLastItem = New System.Windows.Forms.ToolStripButton() + Me.BindingNavigatorSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.pnlNavigator = New System.Windows.Forms.Panel() + Me.bindsourcegrid = New System.Windows.Forms.BindingSource(Me.components) CType(Me.SplitContainerDashboard, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerDashboard.Panel1.SuspendLayout() Me.SplitContainerDashboard.Panel2.SuspendLayout() @@ -104,14 +116,18 @@ Partial Class frmMain Me.StatusStrip1.SuspendLayout() Me.Panel1.SuspendLayout() CType(Me.GridControl_Docs, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuGrid.SuspendLayout() CType(Me.GridView_Docs, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.cmsNavPane.SuspendLayout() - Me.ContextMenuGrid.SuspendLayout() CType(Me.VWPM_PROFILE_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_KONFIGURATIONBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_PROFILE_FILESBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.BindingNavigator1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.BindingNavigator1.SuspendLayout() + Me.pnlNavigator.SuspendLayout() + CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'SplitContainerDashboard @@ -350,6 +366,7 @@ Partial Class frmMain ' 'Panel1 ' + Me.Panel1.Controls.Add(Me.pnlNavigator) Me.Panel1.Controls.Add(Me.GridControl_Docs) Me.Panel1.Controls.Add(Me.lblViewType) Me.Panel1.Controls.Add(Me.NavBarControl1) @@ -366,6 +383,34 @@ Partial Class frmMain Me.GridControl_Docs.Name = "GridControl_Docs" Me.GridControl_Docs.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView_Docs}) ' + 'ContextMenuGrid + ' + Me.ContextMenuGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.CMGroupStart, Me.CMFileStart, Me.MarkierteDateienAbschliessenToolStripMenuItem, Me.TabellenlayoutZurücksetzenToolStripMenuItem}) + Me.ContextMenuGrid.Name = "ContextMenuStrip1" + resources.ApplyResources(Me.ContextMenuGrid, "ContextMenuGrid") + ' + 'CMGroupStart + ' + Me.CMGroupStart.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.database_go + Me.CMGroupStart.Name = "CMGroupStart" + resources.ApplyResources(Me.CMGroupStart, "CMGroupStart") + ' + 'CMFileStart + ' + Me.CMFileStart.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.shape_square_go + Me.CMFileStart.Name = "CMFileStart" + resources.ApplyResources(Me.CMFileStart, "CMFileStart") + ' + 'MarkierteDateienAbschliessenToolStripMenuItem + ' + resources.ApplyResources(Me.MarkierteDateienAbschliessenToolStripMenuItem, "MarkierteDateienAbschliessenToolStripMenuItem") + Me.MarkierteDateienAbschliessenToolStripMenuItem.Name = "MarkierteDateienAbschliessenToolStripMenuItem" + ' + 'TabellenlayoutZurücksetzenToolStripMenuItem + ' + Me.TabellenlayoutZurücksetzenToolStripMenuItem.Name = "TabellenlayoutZurücksetzenToolStripMenuItem" + resources.ApplyResources(Me.TabellenlayoutZurücksetzenToolStripMenuItem, "TabellenlayoutZurücksetzenToolStripMenuItem") + ' 'GridView_Docs ' Me.GridView_Docs.Appearance.EvenRow.BackColor = CType(resources.GetObject("GridView_Docs.Appearance.EvenRow.BackColor"), System.Drawing.Color) @@ -375,8 +420,10 @@ Partial Class frmMain Me.GridView_Docs.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[True] Me.GridView_Docs.OptionsBehavior.Editable = False Me.GridView_Docs.OptionsSelection.MultiSelect = True + Me.GridView_Docs.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect Me.GridView_Docs.OptionsView.ColumnAutoWidth = False Me.GridView_Docs.OptionsView.EnableAppearanceEvenRow = True + Me.GridView_Docs.OptionsView.ShowAutoFilterRow = True ' 'lblViewType ' @@ -434,35 +481,6 @@ Partial Class frmMain resources.ApplyResources(Me.NavBarItemDashboard, "NavBarItemDashboard") Me.NavBarItemDashboard.Name = "NavBarItemDashboard" ' - 'ContextMenuGrid - ' - Me.ContextMenuGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.CMGroupStart, Me.CMFileStart, Me.MarkierteDateienAbschliessenToolStripMenuItem, Me.TabellenlayoutZurücksetzenToolStripMenuItem}) - Me.ContextMenuGrid.Name = "ContextMenuStrip1" - resources.ApplyResources(Me.ContextMenuGrid, "ContextMenuGrid") - ' - 'CMGroupStart - ' - Me.CMGroupStart.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.database_go - Me.CMGroupStart.Name = "CMGroupStart" - resources.ApplyResources(Me.CMGroupStart, "CMGroupStart") - ' - 'CMFileStart - ' - Me.CMFileStart.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.shape_square_go - Me.CMFileStart.Name = "CMFileStart" - resources.ApplyResources(Me.CMFileStart, "CMFileStart") - ' - 'MarkierteDateienAbschliessenToolStripMenuItem - ' - Me.MarkierteDateienAbschliessenToolStripMenuItem.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.Checked_outforEdit_Color_13297 - Me.MarkierteDateienAbschliessenToolStripMenuItem.Name = "MarkierteDateienAbschliessenToolStripMenuItem" - resources.ApplyResources(Me.MarkierteDateienAbschliessenToolStripMenuItem, "MarkierteDateienAbschliessenToolStripMenuItem") - ' - 'TabellenlayoutZurücksetzenToolStripMenuItem - ' - Me.TabellenlayoutZurücksetzenToolStripMenuItem.Name = "TabellenlayoutZurücksetzenToolStripMenuItem" - resources.ApplyResources(Me.TabellenlayoutZurücksetzenToolStripMenuItem, "TabellenlayoutZurücksetzenToolStripMenuItem") - ' 'NotifyIcon1 ' Me.NotifyIcon1.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info @@ -511,6 +529,77 @@ Partial Class frmMain 'TimerReminder ' ' + 'BindingNavigator1 + ' + Me.BindingNavigator1.AddNewItem = Nothing + Me.BindingNavigator1.BindingSource = Me.bindsourcegrid + Me.BindingNavigator1.CountItem = Me.BindingNavigatorCountItem + Me.BindingNavigator1.CountItemFormat = "von {0} Dateien" + Me.BindingNavigator1.DeleteItem = Nothing + resources.ApplyResources(Me.BindingNavigator1, "BindingNavigator1") + Me.BindingNavigator1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BindingNavigatorMoveFirstItem, Me.BindingNavigatorMovePreviousItem, Me.BindingNavigatorSeparator, Me.BindingNavigatorPositionItem, Me.BindingNavigatorCountItem, Me.BindingNavigatorSeparator1, Me.BindingNavigatorMoveNextItem, Me.BindingNavigatorMoveLastItem, Me.BindingNavigatorSeparator2}) + Me.BindingNavigator1.MoveFirstItem = Me.BindingNavigatorMoveFirstItem + Me.BindingNavigator1.MoveLastItem = Me.BindingNavigatorMoveLastItem + Me.BindingNavigator1.MoveNextItem = Me.BindingNavigatorMoveNextItem + Me.BindingNavigator1.MovePreviousItem = Me.BindingNavigatorMovePreviousItem + Me.BindingNavigator1.Name = "BindingNavigator1" + Me.BindingNavigator1.PositionItem = Me.BindingNavigatorPositionItem + ' + 'BindingNavigatorMoveFirstItem + ' + Me.BindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + resources.ApplyResources(Me.BindingNavigatorMoveFirstItem, "BindingNavigatorMoveFirstItem") + Me.BindingNavigatorMoveFirstItem.Name = "BindingNavigatorMoveFirstItem" + ' + 'BindingNavigatorMovePreviousItem + ' + Me.BindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + resources.ApplyResources(Me.BindingNavigatorMovePreviousItem, "BindingNavigatorMovePreviousItem") + Me.BindingNavigatorMovePreviousItem.Name = "BindingNavigatorMovePreviousItem" + ' + 'BindingNavigatorSeparator + ' + Me.BindingNavigatorSeparator.Name = "BindingNavigatorSeparator" + resources.ApplyResources(Me.BindingNavigatorSeparator, "BindingNavigatorSeparator") + ' + 'BindingNavigatorPositionItem + ' + resources.ApplyResources(Me.BindingNavigatorPositionItem, "BindingNavigatorPositionItem") + Me.BindingNavigatorPositionItem.Name = "BindingNavigatorPositionItem" + ' + 'BindingNavigatorCountItem + ' + Me.BindingNavigatorCountItem.Name = "BindingNavigatorCountItem" + resources.ApplyResources(Me.BindingNavigatorCountItem, "BindingNavigatorCountItem") + ' + 'BindingNavigatorSeparator1 + ' + Me.BindingNavigatorSeparator1.Name = "BindingNavigatorSeparator" + resources.ApplyResources(Me.BindingNavigatorSeparator1, "BindingNavigatorSeparator1") + ' + 'BindingNavigatorMoveNextItem + ' + Me.BindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + resources.ApplyResources(Me.BindingNavigatorMoveNextItem, "BindingNavigatorMoveNextItem") + Me.BindingNavigatorMoveNextItem.Name = "BindingNavigatorMoveNextItem" + ' + 'BindingNavigatorMoveLastItem + ' + Me.BindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + resources.ApplyResources(Me.BindingNavigatorMoveLastItem, "BindingNavigatorMoveLastItem") + Me.BindingNavigatorMoveLastItem.Name = "BindingNavigatorMoveLastItem" + ' + 'BindingNavigatorSeparator2 + ' + Me.BindingNavigatorSeparator2.Name = "BindingNavigatorSeparator" + resources.ApplyResources(Me.BindingNavigatorSeparator2, "BindingNavigatorSeparator2") + ' + 'pnlNavigator + ' + resources.ApplyResources(Me.pnlNavigator, "pnlNavigator") + Me.pnlNavigator.Controls.Add(Me.BindingNavigator1) + Me.pnlNavigator.Name = "pnlNavigator" + ' 'frmMain ' resources.ApplyResources(Me, "$this") @@ -548,14 +637,20 @@ Partial Class frmMain Me.Panel1.ResumeLayout(False) Me.Panel1.PerformLayout() CType(Me.GridControl_Docs, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuGrid.ResumeLayout(False) CType(Me.GridView_Docs, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit() Me.cmsNavPane.ResumeLayout(False) - Me.ContextMenuGrid.ResumeLayout(False) CType(Me.VWPM_PROFILE_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBPM_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBPM_KONFIGURATIONBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBPM_PROFILE_FILESBindingSource, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.BindingNavigator1, System.ComponentModel.ISupportInitialize).EndInit() + Me.BindingNavigator1.ResumeLayout(False) + Me.BindingNavigator1.PerformLayout() + Me.pnlNavigator.ResumeLayout(False) + Me.pnlNavigator.PerformLayout() + CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -618,4 +713,16 @@ Partial Class frmMain Friend WithEvents MarkierteDateienAbschliessenToolStripMenuItem As ToolStripMenuItem Friend WithEvents GridControl_Docs As DevExpress.XtraGrid.GridControl Friend WithEvents GridView_Docs As DevExpress.XtraGrid.Views.Grid.GridView + Friend WithEvents pnlNavigator As Panel + Friend WithEvents BindingNavigator1 As BindingNavigator + Friend WithEvents BindingNavigatorCountItem As ToolStripLabel + Friend WithEvents BindingNavigatorMoveFirstItem As ToolStripButton + Friend WithEvents BindingNavigatorMovePreviousItem As ToolStripButton + Friend WithEvents BindingNavigatorSeparator As ToolStripSeparator + Friend WithEvents BindingNavigatorPositionItem As ToolStripTextBox + Friend WithEvents BindingNavigatorSeparator1 As ToolStripSeparator + Friend WithEvents BindingNavigatorMoveNextItem As ToolStripButton + Friend WithEvents BindingNavigatorMoveLastItem As ToolStripButton + Friend WithEvents BindingNavigatorSeparator2 As ToolStripSeparator + Friend WithEvents bindsourcegrid As BindingSource End Class diff --git a/app/DD_PM_WINDREAM/frmMain.resx b/app/DD_PM_WINDREAM/frmMain.resx index 902af9d..ec65ddc 100644 --- a/app/DD_PM_WINDREAM/frmMain.resx +++ b/app/DD_PM_WINDREAM/frmMain.resx @@ -478,7 +478,7 @@ Panel1 - 4 + 5 770, 17 @@ -488,7 +488,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw - CAAAAk1TRnQBSQFMAgEBAgEAAWwBAwFsAQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAYQBAwGEAQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -547,30 +547,6 @@ Tahoma, 9pt - - 0, 0 - - - 1023, 25 - - - 2 - - - ToolStrip1 - - - ToolStrip1 - - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Panel1 - - - 3 - Segoe UI, 9pt, style=Bold, Italic @@ -628,36 +604,36 @@ Aktualisieren + + 0, 0 + + + 1023, 25 + + + 2 + + + ToolStrip1 + + + ToolStrip1 + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Panel1 + + + 4 + 1015, 17 Tahoma, 9pt - - 0, 502 - - - 1023, 25 - - - 3 - - - StatusStrip1 - - - StatusStrip1 - - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - 146, 20 @@ -703,12 +679,235 @@ 0, 20 + + 0, 502 + + + 1023, 25 + + + 3 + + + StatusStrip1 + + + StatusStrip1 + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + Top, Left, Right + + + 500, 134 + + + 654, 134 + + + 87, 22 + + + von {0} Dateien + + + Die Gesamtanzahl der Elemente. + + + Fill + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEqSURBVDhPYxg8oHDW8/9NC57/z5z4+D9UCAOEtz/AKceQ + O/PZ/1VH3v/HpSi++8H/4IZruA3ImPL0/8J9H7Aqiu95+H/p/v///asv4DYgoefJ/2lb3mMoimi/D9ac + Oev/f6/SE7gNiOx69L939QcURaGt98CaW9cBbe/8+98l/wBuAwKbH/6vm/8Orii45e7/RXv//+8Aas6Y + 8/O/Xd3P//YZ23Eb4FF1/3/+tDcoiuyKb/9Pn/P7v3/Xt/86he/+WySsx22Afend/9mTX2Mo0k85/9+k + 6MV/laxP/40jl+E2wCLvzv/U/tdYFRkknfgvm/b1v27wPNwGGGbd/h/W8hKnIv3Uy/81fKfhNkAn7cZ/ + v+qHeBWpeEzAbYBT7pX/IAV4FQ1CwMAAAPB2wKul5ZpwAAAAAElFTkSuQmCC + + + + True + + + 23, 22 + + + Erste verschieben + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC2SURBVDhPYxg6ILz9wX8ok3QQ3/3gf3DDNfIMiO95+H/p + /v///asvkG5ARPt9sObMWf//e5WeIM2A0NZ7YM2t64C2d/7975J/gHgDglvu/l+09///DqDmjDk//9vV + /fxvn7GdNBfYFd/+nz7n93//rm//dQrf/bdIWE96GOinnP9vUvTiv0rWp//GkctINwAEDJJO/JdN+/pf + N3geeQaAgH7q5f8avtPINwAEVDwmUGbAYAUMDADQFGCYBLpQVQAAAABJRU5ErkJggg== + + + + True + + + 23, 22 + + + Vorherige verschieben + + + 6, 25 + + + Position + + + False + + + 50, 23 + + + 0 + + + Aktuelle Position + + + 6, 25 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACjSURBVDhPYxh8oHDW8/9QJnkgd+az/wnd98g3JGPK0//z + 9v/+n9B1hzxDEnqe/J+979f/zq1//7uVXibdkMiuR/+nbPv1v2Tp3/8J0//+t8k9S5ohgc0P/7eufQ/W + bFzy5b909LX/xpHLiDfEo+r+/5K57+CaFV16SHOBfend/4Etz8jTDAIWeXf+2xRcIU8zCBhm3SZfMwjo + pN0gX/NQBAwMAKB+X6AHNEI4AAAAAElFTkSuQmCC + + + + True + + + 23, 22 + + + Nächste verschieben + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEsSURBVDhPYxhcoHDW8/9QJgYAyTUteP4/c+JjnGoYcmc+ + +5/QfQ+rApDcqiPv/4e3P8BtQMaUp//n7f/9P6HrDoYikNzCfR/+Bzdcw21AQs+T/7P3/frfufXvf7fS + yygKQXLTtrz/7199AbcBkV2P/k/Z9ut/ydK//xOm//1vk3sWrhgk17v6w3+v0hO4DQhsfvi/de17sGbj + ki//paOv/TeOXAbWAJKrm//uv0v+AdwGeFTd/18y9x1cs6JLD1wxSC5/2pv/9hnbcRtgX3r3f2DLMwzN + IACSy578+r9FwnrcBljk3flvU3AFQzMIgORS+1/DvYQVGGbdxqoZBEByYS0v/+sGz8NtgE7aDZySIDm/ + 6of/NXyn4TYAH3DKvfJfxWMCGEOFBgVgYAAAvtG/s7kMTpwAAAAASUVORK5CYII= + + + + True + + + 23, 22 + + + Letzte verschieben + + + 6, 25 + + + 0, 0 + + + 778, 25 + + + 9 + + + BindingNavigator1 + + + BindingNavigator1 + + + System.Windows.Forms.BindingNavigator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlNavigator + + + 0 + + + 242, 45 + + + 778, 25 + + + 10 + + + pnlNavigator + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Panel1 + + + 0 + Top, Bottom, Left, Right 894, 95 + + 265, 22 + + + Validierung für Gruppe/Profil starten + + + 265, 22 + + + Validierung für Datei starten + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAM5JREFUOE9jwAa+fv3a8O3bt/9I+D0QCECl8QOQQpAG+fTl/xmC5/yvXnryP8hA + qDRhALJx1s4rYM38sYv+P3/zAcUlX758MYAqhQAkSbACEI1se2Rk5H8nJycwTklJ+f/8+XNUQ0CakDUg + 2754xVq4ZpyGgPyHrAnZsI8fPv3/8P4jHOfl5mEagh5oyLYja0Y2AGYISB+GK2C2g/yObgAMwwwBhRfY + AJgrQAIgvHnzZrACbJpBGMMAZAAShCnAphmER5IBhDDtDCAef/sPAEGjQ6y45GCmAAAAAElFTkSuQmCC + + + + 265, 22 + + + Massenabschluss markierte Dateien + + + 265, 22 + + + Tabellenlayout zurücksetzen + 266, 92 @@ -719,13 +918,13 @@ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 242, 44 + 242, 73 Aqua - 778, 455 + 778, 426 8 @@ -740,7 +939,7 @@ Panel1 - 0 + 1 True @@ -770,7 +969,7 @@ Panel1 - 1 + 2 Profilübersicht @@ -827,6 +1026,12 @@ 1043, 95 + + 215, 22 + + + Starte Validierung für Profil + 216, 26 @@ -842,51 +1047,6 @@ Weitere Ansichten - - - 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 - QmCC - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0 @@ -995,6 +1155,51 @@ ozk0xzFyplk+zeIZP5OBrU5e8ruu/jlwZa4EstkB2XBhB7n4ZcHFl+GThdM+d+BMeDMuKODkrYAji4SD V6aAZwbsPYh02LP8FIuc8+mwI9zlHJvTCfeYNn8b0r/m9GlE9yTtSoKcvQo/fgV+wqDfMHGLLf8BKVH4 p8+ug0MAAAAASUVORK5CYII= + + + + + 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 + QmCC @@ -1022,7 +1227,7 @@ Panel1 - 2 + 3 Fill @@ -1051,36 +1256,6 @@ 2 - - 215, 22 - - - Starte Validierung für Profil - - - 265, 22 - - - Validierung für Gruppe/Profil starten - - - 265, 22 - - - Validierung für Datei starten - - - 265, 22 - - - Markierte Dateien abschliessen - - - 265, 22 - - - Tabellenlayout zurücksetzen - 1132, 17 @@ -2082,6 +2257,30 @@ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + CMGroupStart + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + CMFileStart + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MarkierteDateienAbschliessenToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabellenlayoutZurücksetzenToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + GridView_Docs @@ -2118,30 +2317,6 @@ DevExpress.XtraNavBar.NavBarItem, DevExpress.XtraNavBar.v15.2, Version=15.2.16.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - CMGroupStart - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - CMFileStart - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MarkierteDateienAbschliessenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabellenlayoutZurücksetzenToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - NotifyIcon1 @@ -2208,6 +2383,66 @@ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + BindingNavigatorMoveFirstItem + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorMovePreviousItem + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorSeparator + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorPositionItem + + + System.Windows.Forms.ToolStripTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorCountItem + + + System.Windows.Forms.ToolStripLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorSeparator1 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorMoveNextItem + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorMoveLastItem + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BindingNavigatorSeparator2 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + bindsourcegrid + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + frmMain diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index cd70f90..db371e4 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -290,6 +290,7 @@ Public Class frmMain Sub Layout_Single_Profile() If GridControl_Docs.Visible = False Then GridControl_Docs.Visible = True + pnlNavigator.Visible = True SplitContainerDashboard.Visible = False End If End Sub @@ -298,6 +299,7 @@ Public Class frmMain If GridControl_Docs.Visible = True Then GridControl_Docs.Visible = False + pnlNavigator.Visible = False Dim groupCount As Integer Dim charts As List(Of ChartControl) SplitContainerDashboard.Visible = True @@ -483,7 +485,7 @@ Public Class frmMain Dim Columns_Removed = GridView_CheckInvalidColumns() RestoreLayout() - + lblViewType.Text = "Detailansicht Profil: " & CURRENT_CLICKED_PROFILE_TITLE End If Catch ex As Exception @@ -526,7 +528,8 @@ Public Class frmMain End Select Next - GridControl_Docs.DataSource = CURR_DT_PROFILEGRID + bindsourcegrid.DataSource = CURR_DT_PROFILEGRID + GridControl_Docs.DataSource = bindsourcegrid 'GridControlDocRow.ForceInitialize() RestoreLayout() @@ -769,8 +772,15 @@ Public Class frmMain Case "GROUP" CMGroupStart.Enabled = True Case "ROW" - CMFileStart.Enabled = True + Dim selectedRows As Integer() = GridView_Docs.GetSelectedRows() + If selectedRows.Count > 1 Then + CMFileStart.Enabled = False + Else + CMFileStart.Enabled = True + End If + End Select + End Sub Private Sub CMFileStart_Click(sender As Object, e As EventArgs) Handles CMFileStart.Click @@ -868,60 +878,60 @@ Public Class frmMain Private Sub MarkierteDateienAbschliessenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MarkierteDateienAbschliessenToolStripMenuItem.Click Dim selectedRows As Integer() = GridView_Docs.GetSelectedRows() Dim hitInfo As GridHitInfo = GridView_Docs.CalcHitInfo(GridCursorLocation) + Dim workedFiles As Integer = 0 + Dim dt As New DataTable + dt.Columns.Add("DOC_ID") + dt.Columns.Add("DOC_GUID") + dt.Columns.Add("FULL_PATH") + + If Init_windream() = True Then + CURRENT_ProfilGUID = 0 + Dim i As Integer = 0 For Each rowhandle As Integer In selectedRows - Dim PROFILE_ID = GridView_Docs.GetRowCellValue(GridView_Docs.GetDataRowHandleByGroupRowHandle(GridView_Docs.GetParentRowHandle(hitInfo.RowHandle)), GridView_Docs.Columns("PROFILE_ID")) - If PROFILE_ID <> CURRENT_ProfilGUID Then + Dim R As DataRow = dt.NewRow + Dim PROFILE_ID As Integer = 0 + PROFILE_ID = GridView_Docs.GetRowCellValue(GridView_Docs.GetDataRowHandleByGroupRowHandle(GridView_Docs.GetParentRowHandle(hitInfo.RowHandle)), GridView_Docs.Columns("PROFILE_ID")) + If i = 0 And CURRENT_ProfilGUID = 0 Then CURRENT_ProfilGUID = PROFILE_ID CURRENT_DT_FINAL_INDEXING = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE_FINAL_INDEXING where PROFIL_ID = {0}", CURRENT_ProfilGUID)) CURRENT_DT_PROFILE = ClassDatabase.Return_Datatable(String.Format("select * from TBPM_PROFILE where GUID = {0}", CURRENT_ProfilGUID)) CURRENT_PROFILE_VEKTOR_LOG = CURRENT_DT_PROFILE.Rows(0).Item("PM_VEKTOR_INDEX") + If CURRENT_PROFILE_VEKTOR_LOG = "" Then + CURRENT_PROFILE_VEKTOR_LOG = CURRENT_DT_PROFILE.Rows(0).Item("LOG_INDEX") + End If End If - If CURRENT_PROFILE_VEKTOR_LOG = "" Then - CURRENT_PROFILE_VEKTOR_LOG = CURRENT_DT_PROFILE.Rows(0).Item("LOG_INDEX") + If PROFILE_ID <> CURRENT_ProfilGUID Then + If CURRENT_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) + End If + Exit Sub End If + Dim DOC_ID = GridView_Docs.GetRowCellValue(rowhandle, "DOC_ID") CURRENT_DOC_ID = DOC_ID Dim DOC_PATH = GridView_Docs.GetRowCellValue(rowhandle, "FULL_FILE_PATH") CURRENT_DOC_PATH = DOC_PATH CURRENT_DOC_GUID = GridView_Docs.GetRowCellValue(rowhandle, "GUID") - - - Dim WM_DOC = _windream.oSession.GetWMObjectByPath(WINDREAMLib.WMEntity.WMEntityDocument, DOC_PATH.Substring(2)) - If Not IsNothing(WM_DOC) Then - CURRENT_WMFILE = WM_DOC - If ClassFinalizeDoc.Write_Final_Metadata = True Then - Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", Environment.UserName, CURRENT_DOC_GUID) - ClassDatabase.Execute_non_Query(sql) - - End If - End If - - - + R("DOC_ID") = CURRENT_DOC_ID + R("FULL_PATH") = CURRENT_DOC_PATH + R("DOC_GUID") = GridView_Docs.GetRowCellValue(rowhandle, "GUID") + dt.Rows.Add(R) + CURRENT_DT_MASS_CHANGE_DOCS = Nothing + CURRENT_DT_MASS_CHANGE_DOCS = dt Next + End If + + frmMassValidator.ShowDialog() + + Load_Profile_items() Decide_Load() - 'Dim Row As DataRow - 'Dim Rows() As DataRow - 'Dim I As Integer - 'ReDim Rows(GridView_Docs.SelectedRowsCount - 1) - 'For I = 0 To GridView_Docs.SelectedRowsCount - 1 - ' Rows(I) = GridView_Docs.GetDataRow(GridView_Docs.GetSelectedRows(I)) - 'Next - 'GridView_Docs.BeginSort() - 'Try - ' For Each Row In Rows - ' Dim DOC_ID = GridView_Docs.GetRowCellValue(Row, GridView_Docs.Columns("DOC_ID")) ' GridView_Docs.GetRowCellValue(Row, "DOC_ID").ToString() - - ' Row.Delete() - ' Next - 'Finally - ' GridView_Docs.EndSort() - 'End Try End Sub Private Sub CMGroupStart_Click(sender As Object, e As EventArgs) Handles CMGroupStart.Click Item_Scope() @@ -975,6 +985,8 @@ Public Class frmMain If CURR_DT_PROFILEGRID.Rows.Count = 0 Then lblViewType.Text = "Aktuell keine Workflowdaten vorhanden!" 'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information) + GridControl_Docs.Visible = False + pnlNavigator.Visible = False GridControl_Docs.DataSource = Nothing Try GridView_Docs.Columns.Clear() @@ -984,6 +996,8 @@ Public Class frmMain Cursor = Cursors.Default Exit Sub End If + GridControl_Docs.Visible = True + pnlNavigator.Visible = True ' Spalte für Status Icon erstellen Dim columnStateIcon As New DataColumn() columnStateIcon.DataType = GetType(Image) @@ -1009,9 +1023,10 @@ Public Class frmMain row.Item("ICON") = My.Resources.ampel_gruen End Select Next + bindsourcegrid.DataSource = CURR_DT_PROFILEGRID + GridControl_Docs.DataSource = bindsourcegrid - GridControl_Docs.DataSource = CURR_DT_PROFILEGRID - + lblViewType.Text = "Gesamtübersicht" 'GridControlDocRow.ForceInitialize() ' GridControl1.DataSource = CURR_DT_PROFILEGRID @@ -1082,6 +1097,8 @@ Public Class frmMain 'GridView_Docs.SaveLayoutToXml(GetXML_LayoutName()) SaveGridLayout() Else + GridControl_Docs.Visible = False + pnlNavigator.Visible = False GridControl_Docs.DataSource = Nothing Try GridView_Docs.Columns.Clear() @@ -1093,6 +1110,7 @@ Public Class frmMain + Catch ex As Exception ClassLogger.Add("Load_Grid_Overview - Fehler: " & ex.Message) MsgBox("Fehler Load_Grid_Overview - Fehler: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") @@ -1158,12 +1176,7 @@ Public Class frmMain End Sub Private Sub GridView_Docs_RowClick(sender As Object, e As RowClickEventArgs) Handles GridView_Docs.RowClick - If (ModifierKeys = Keys.Control) Then - GridView_Docs.OptionsSelection.MultiSelect = True - Else - GridView_Docs.OptionsSelection.MultiSelect = False - End If End Sub Private Sub GridView_Docs_DoubleClick(sender As Object, e As EventArgs) Handles GridView_Docs.DoubleClick diff --git a/app/DD_PM_WINDREAM/frmMassValidator.Designer.vb b/app/DD_PM_WINDREAM/frmMassValidator.Designer.vb new file mode 100644 index 0000000..d9345b1 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmMassValidator.Designer.vb @@ -0,0 +1,143 @@ + _ +Partial Class frmMassValidator + 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(frmMassValidator)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.tslblCountDocs = New System.Windows.Forms.ToolStripStatusLabel() + Me.TITLELabel1 = New System.Windows.Forms.Label() + Me.pnldesigner = New System.Windows.Forms.Panel() + Me.DESCRIPTIONLabel = New System.Windows.Forms.Label() + Me.btnSave = New System.Windows.Forms.Button() + Me.StatusStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(586, 25) + Me.ToolStrip1.TabIndex = 0 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tslblCountDocs}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 518) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(586, 22) + Me.StatusStrip1.TabIndex = 1 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'tslblCountDocs + ' + Me.tslblCountDocs.Name = "tslblCountDocs" + Me.tslblCountDocs.Size = New System.Drawing.Size(120, 17) + Me.tslblCountDocs.Text = "ToolStripStatusLabel1" + ' + 'TITLELabel1 + ' + Me.TITLELabel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TITLELabel1.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TITLELabel1.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.TITLELabel1.Location = New System.Drawing.Point(12, 25) + Me.TITLELabel1.Name = "TITLELabel1" + Me.TITLELabel1.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.TITLELabel1.Size = New System.Drawing.Size(562, 29) + Me.TITLELabel1.TabIndex = 19 + Me.TITLELabel1.Text = "Label1" + Me.TITLELabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'pnldesigner + ' + Me.pnldesigner.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.pnldesigner.AutoScroll = True + Me.pnldesigner.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnldesigner.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.pnldesigner.Location = New System.Drawing.Point(15, 125) + Me.pnldesigner.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.pnldesigner.Name = "pnldesigner" + Me.pnldesigner.Size = New System.Drawing.Size(559, 331) + Me.pnldesigner.TabIndex = 21 + ' + 'DESCRIPTIONLabel + ' + Me.DESCRIPTIONLabel.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.DESCRIPTIONLabel.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.DESCRIPTIONLabel.Location = New System.Drawing.Point(12, 54) + Me.DESCRIPTIONLabel.Name = "DESCRIPTIONLabel" + Me.DESCRIPTIONLabel.Size = New System.Drawing.Size(725, 67) + Me.DESCRIPTIONLabel.TabIndex = 20 + Me.DESCRIPTIONLabel.Text = "Label3" + ' + 'btnSave + ' + Me.btnSave.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnSave.Font = New System.Drawing.Font("Tahoma", 9.75!) + Me.btnSave.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.flag_pink + Me.btnSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnSave.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnSave.Location = New System.Drawing.Point(12, 464) + Me.btnSave.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.btnSave.Name = "btnSave" + Me.btnSave.Size = New System.Drawing.Size(562, 50) + Me.btnSave.TabIndex = 22 + Me.btnSave.Text = "Alle Dokumente abschliessen" + Me.btnSave.UseVisualStyleBackColor = True + ' + 'frmMassValidator + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(586, 540) + Me.Controls.Add(Me.btnSave) + Me.Controls.Add(Me.TITLELabel1) + Me.Controls.Add(Me.DESCRIPTIONLabel) + Me.Controls.Add(Me.pnldesigner) + Me.Controls.Add(Me.StatusStrip1) + Me.Controls.Add(Me.ToolStrip1) + Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmMassValidator" + Me.Text = "Mass Validator" + Me.TopMost = True + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents TITLELabel1 As Label + Friend WithEvents pnldesigner As Panel + Friend WithEvents DESCRIPTIONLabel As Label + Friend WithEvents btnSave As Button + Friend WithEvents tslblCountDocs As ToolStripStatusLabel +End Class diff --git a/app/DD_PM_WINDREAM/frmMassValidator.resx b/app/DD_PM_WINDREAM/frmMassValidator.resx new file mode 100644 index 0000000..45e58b5 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmMassValidator.resx @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 124, 17 + + + + + AAABAAIAEBAQAAEABAAoAQAAJgAAABAQAAABAAgAaAUAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AAAP//8AAAAAD/d3d/8AAAD4d/iHd/////eI//+HeHd/9/////94 + d3/3j///+H/3fwh///+Hj/d/D3d4/3j/938A+Hd3f//3fwAA+I////d/AAD3f///938AAPd///d3fwAA + 93//93fwAAD3d3d3fwAAAPd3d3fwAAAA/////wAA4P8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAA + AADAAAAA8AAAAPAAAADwAAAA8AEAAPADAADwBwAA8A8AACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA + AAAAAAAAAAEAAAABAAAAAAAAQkJCAE1NTQBZWVkAY2JjAGRkZABvb28AeXl5AISDgwCGhoYAj46OAJGR + kQCcnJwApKOkAKenpwCzs7MAurm6AL29vQDFxMUAycnJANDPzwDb2doA4ODgAObk5QDr6+sA8e/wAPLw + 8QD08/MA9fX1APj4+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAHR0dHR0AAAAAAAAAAAAdGAYBAQYHFh0AAAAAAAAdEQUHGRQSCAII + GB0dHR0dHQIRFRkZGRkVCgUPAQEBHR0BGRkZGRkZGRkBEwEBAR0dBQ0ZGRkZGRYRAh0ZAQEdABMFGRkZ + GRkRAxEdGQEBHQAYBQgIDRkWBQ8dGRkBAR0AABgNDAMBAQsdGRkZAQEdAAAAAB0PEx0dGRkZGQEBHQAA + AAAdAQEZGRkZGRkBAR0AAAAAHQEBGRkZGQEBAQgdAAAAAB0BARkZGRkBAQgdAAAAAAAdAQEBAQEBAQgd + AAAAAAAAHQEBAQEBAQgdAAAAAAAAAB0dHR0dHR0dAAAAAOD/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIAA + AACAAAAAwAAAAPAAAADwAAAA8AAAAPABAADwAwAA8AcAAPAPAAA= + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb new file mode 100644 index 0000000..4095a4f --- /dev/null +++ b/app/DD_PM_WINDREAM/frmMassValidator.vb @@ -0,0 +1,1550 @@ +Imports WINDREAMLib +Imports Oracle.ManagedDataAccess.Client +Imports System.ComponentModel + +Public Class frmMassValidator + Dim DT_PROFIL As DataTable + Dim DT_PROFILE_CONTROLS As DataTable + + Private Delimiter As String + Private PROFIL_VEKTORINDEX As String + Private PROFIL_LOGINDEX As String + Private WM_SEARCH As String + Private FINAL_PROFILE As String + Private MOVE2Folder As String + Private me_closing As Boolean = False + Private CTRLS_Loaded As Boolean = False + Private FORM_Shown As Boolean = False + Private _dependingControl_in_action As Boolean = False + + Private errmessage As String + Private _windream As New ClassWindream_allgemein + Private _windreamPM As New ClassPMWindream + Private _allgFunk As New ClassAllgemeineFunktionen + Dim WMObject As WMObject + Private Sub frmMassValidator_Load(sender As Object, e As EventArgs) Handles Me.Load + FORM_Shown = False + Try + _windream = New ClassWindream_allgemein + _windream.Init() + If LogErrorsOnly = False Then ClassLogger.Add("windream initialized frmMassValidator", False) + + Catch ex As Exception + MsgBox("Error Init_windream:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:") + ClassLogger.Add(">> Fehler in Init_windream: " & ex.Message, True) + Exit Sub + End Try + + If My.Settings.frmMassValidatorposition.IsEmpty = False Then + If My.Settings.frmMassValidatorposition.X > 0 And My.Settings.frmMassValidatorposition.Y > 0 Then + Location = My.Settings.frmMassValidatorposition + End If + End If + If My.Settings.frmMassValidatorSize.IsEmpty = False Then + Size = My.Settings.frmMassValidatorSize + End If + Try + DT_PROFIL = ClassDatabase.Return_Datatable("SELECT * FROM TBPM_PROFILE WHERE GUID = " & CURRENT_ProfilGUID) + DT_PROFILE_CONTROLS = ClassDatabase.Return_Datatable("SELECT * FROM TBPM_PROFILE_CONTROLS WHERE CTRL_TYPE <> 'TABLE' AND SQL_UEBERPRUEFUNG NOT LIKE '%WMI%' AND PROFIL_ID = " & CURRENT_ProfilGUID) + If LogErrorsOnly = False Then ClassLogger.Add(" >> Profile Data geladen", False) + Catch ex As Exception + MsgBox("Error LOADING profile-data:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:") + ClassLogger.Add(">> Fehler in LOADING profile-data: " & ex.Message, True) + Me.Close() + End Try + + ' Try + Delimiter = CURRENT_DT_CONFIG.Rows(0).Item("VEKTOR_DELIMITER") + + If DT_PROFIL.Rows.Count = 0 Then + ClassLogger.Add(">> Profildaten konnten nicht geladen werden - Übergebenes Profil: : " & CURRENT_ProfilName, True) + MsgBox("Achtung: Profildaten konnten nicht übergeben oder geladen werden.", MsgBoxStyle.Critical, "Achtung:") + Me.Close() + End If + If DT_PROFIL.Rows.Count > 1 Then + MsgBox("Es wurden mehr als 1 Profil zurückgegeben!!", MsgBoxStyle.Critical, "Achtung:") + Me.Close() + Else + If DT_PROFIL.Rows.Count <> 0 Then + For Each dr In DT_PROFIL.Rows + PROFIL_VEKTORINDEX = dr.Item("PM_VEKTOR_INDEX") + PROFIL_LOGINDEX = dr.Item("LOG_INDEX") + Me.Text = "Process Manager - " & dr.Item("TITLE") + If PROFIL_VEKTORINDEX.GetType.ToString.ToLower = "system.dbnull" Then + PROFIL_VEKTORINDEX = "" + End If + If PROFIL_LOGINDEX.GetType.ToString.ToLower = "system.dbnull" Then + PROFIL_LOGINDEX = "" + End If + + WM_SEARCH = dr.Item("WD_SEARCH") + FINAL_PROFILE = dr.Item("FINAL_PROFILE") + + MOVE2Folder = IIf(IsDBNull(dr.Item("MOVE2Folder")), "", dr.Item("MOVE2Folder")) + + tslblCountDocs.Text = "#Documents for MassChange: " & CURRENT_DT_MASS_CHANGE_DOCS.Rows.Count + + Next + If LogErrorsOnly = False Then + ClassLogger.Add(" >> Profildaten gespeichert", False) + ClassLogger.Add(" >> WD_Search: " & WM_SEARCH, False) + ClassLogger.Add(" >> finalProfile: " & FINAL_PROFILE, False) + ClassLogger.Add(" >> Move2Folder: " & MOVE2Folder, False) + + End If + + Load_Controls() + + + End If + End If + + 'Catch ex As Exception + ' MsgBox("Error SAVING Profile-Data:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:") + ' ClassLogger.Add(">> Fehler in SAVING Profile-Data: " & ex.Message, True) + '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) + End If + + End Sub + Sub Load_Controls() + ' Try + pnldesigner.Controls.Clear() + 'Dim dt As DataTable = DD_DMSLiteDataSet.VWPM_CONTROL_INDEX + + + + For Each dr As DataRow In DT_PROFILE_CONTROLS.Rows + Dim ctrl As Control + + Select Case dr.Item("CTRL_TYPE").ToString.ToUpper + Case "TXT" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch TXT zu laden", False) + Dim txt As TextBox = ClassControlCreator.CreateExistingTextbox(dr, False) + + AddHandler txt.GotFocus, AddressOf OnTextBoxFocus + AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus + AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp + + ctrl = txt + Case "LBL" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch LBL zu laden", False) + ctrl = ClassControlCreator.CreateExistingLabel(dr, False) + Case "CMB" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch CMB zu laden", False) + + Dim cmb = ClassControlCreator.CreateExistingCombobox(dr, False) + + AddHandler cmb.SelectedValueChanged, AddressOf OnCmbselectedIndex +#Region "CONTROL LIST" + If ClassControlCreator.GET_CONTROL_PROPERTIES(DT_PROFILE_CONTROLS, cmb.Name) = 0 Then + MsgBox("Unexpected Error in getting control-properties (CMB load) - Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + Dim CURR_SQL_PROVIDER As String + If CURRENT_CONTROL_ID > 0 Then + If CURR_CON_ID > 0 Then + Dim commandsql = CURR_SELECT_CONTROL + If commandsql <> "" Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> ConID > 0 And commandsql <> ''", False) + Dim connectionString As String + + Dim ConRow As DataRow() = ClassControlCreator.GET_CONNECTION_INFO(CURR_CON_ID) + If ConRow Is Nothing Then + MsgBox("Unexpected Error in getting Coninfo (CMB load) - Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + + For Each row As DataRow In ConRow + Select Case row("SQL_PROVIDER").ToString.ToLower + Case "ms-sql" + CURR_SQL_PROVIDER = "ms-sql" + If row("USERNAME") = "WINAUTH" Then + connectionString = "Data Source=" & row("SERVER") & ";Initial Catalog=" & row("DATENBANK") & ";Trusted_Connection=True;" + Else + connectionString = "Data Source=" & row("SERVER") & ";Initial Catalog= " & row("DATENBANK") & ";User Id=" & row("USERNAME") & ";Password=" & row("PASSWORD") & ";" + End If + If LogErrorsOnly = False Then ClassLogger.Add(" >> ConnString Sql-Server: " & connectionString) + Case "oracle" + CURR_SQL_PROVIDER = "oracle" + Dim conn As New OracleConnectionStringBuilder + Dim connstr As String + If row("SERVER") <> "" And row("DATENBANK").GetType.ToString <> "system.dbnull" Then + connstr = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & row("SERVER") & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & + row("DATENBANK") & ")));User Id=" & row("USERNAME") & ";Password=" & row("PASSWORD") & ";" + Else + conn.DataSource = row("SERVER") + conn.UserID = row("USERNAME") + conn.Password = row("PASSWORD") + conn.PersistSecurityInfo = True + conn.ConnectionTimeout = 120 + connstr = conn.ConnectionString + End If + + connectionString = connstr + Case Else + ClassLogger.Add("ConnectionString-Type not integrated", False) + MsgBox("ConnectionString-Type not integrated", MsgBoxStyle.Critical) + Exit Sub + End Select + + + Next + + If connectionString Is Nothing = False And CURR_SQL_PROVIDER = "ms-sql" Then + Try + Dim sqlCnn As SqlClient.SqlConnection + Dim sqlCmd As SqlClient.SqlCommand + Dim adapter As New SqlClient.SqlDataAdapter + Dim NewDataset As New DataSet + Dim i As Integer + + + 'sql = ClassPatterns.ReplaceAllValues(sql, pnldesigner, aktivesDokument) + If ClassPatterns.HasOnlySimplePatterns(CURR_SELECT_CONTROL) Then + CURR_SELECT_CONTROL = ClassPatterns.ReplaceInternalValues(CURR_SELECT_CONTROL) + CURR_SELECT_CONTROL = ClassPatterns.ReplaceControlValues(CURR_SELECT_CONTROL, pnldesigner) + + sqlCnn = New SqlClient.SqlConnection(connectionString) + ' Try + sqlCnn.Open() + sqlCmd = New SqlClient.SqlCommand(CURR_SELECT_CONTROL, sqlCnn) + adapter.SelectCommand = sqlCmd + adapter.Fill(NewDataset) + + For i = 0 To NewDataset.Tables(0).Rows.Count - 1 + cmb.Items.Add(NewDataset.Tables(0).Rows(i).Item(0)) + Next + adapter.Dispose() + sqlCmd.Dispose() + sqlCnn.Close() + End If + Catch ex As Exception + ClassLogger.Add("Unexpected Error in running depending sql-command: " & ex.Message) + MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected Error in running depending sql-command:") + End Try + End If + Else + If LogErrorsOnly = False Then ClassLogger.Add(" >> Else Row 571", False) + End If + Else + If CURR_CHOICE_LIST <> "" Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> In add_ComboBox - AListe: " & CURR_CHOICE_LIST, False) + Dim liste = _windream.GetValuesfromAuswahlliste(CURR_CHOICE_LIST) + If liste IsNot Nothing Then + cmb.Items.Add("") + For Each index As String In liste + cmb.Items.Add(index) + Next + cmb.SelectedIndex = -1 + Else + MsgBox("Resultliste windream is nothing!", MsgBoxStyle.Exclamation, CURR_CHOICE_LIST) + End If + End If + End If + End If +#End Region + + Dim maxWith As Integer = cmb.Width + Using g As Graphics = Me.CreateGraphics + For Each oItem As Object In cmb.Items 'Für alle Einträge... + Dim g1 As Graphics = cmb.CreateGraphics + If g1.MeasureString(Text, cmb.Font).Width + 30 > maxWith Then + maxWith = g1.MeasureString(Text, cmb.Font).Width + 30 + End If + g1.Dispose() + Next oItem + End Using + cmb.DropDownWidth = maxWith + + ctrl = cmb + Case "DTP" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch DTP zu laden", False) + ctrl = ClassControlCreator.CreateExistingDatepicker(dr, False) + Case "DGV" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch DGV zu laden", False) + Dim dgv = ClassControlCreator.CreateExistingDataGridView(dr, False) + + AddHandler dgv.RowValidating, AddressOf onDGVRowValidating + + ctrl = dgv + Case "CHK" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch Checkbox zu laden", False) + + ctrl = ClassControlCreator.CreateExisingCheckbox(dr, False) + 'Case "TABLE" + ' If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch Tabelle zu laden", False) + + ' For Each c As DataColumn In DT_PROFILE_CONTROLS.Columns + ' '... = c.ColumnName + ' Next + + ' Dim columns As List(Of DD_DMSLiteDataSet.TBPM_CONTROL_TABLERow) = (From r As DD_DMSLiteDataSet.TBPM_CONTROL_TABLERow In DT_PROFILE_CONTROLS + ' Where r.CONTROL_ID = dr.Item("GUID") + ' Select r).ToList() + + ' ctrl = ClassControlCreator.CreateExistingTable(dr, columns, False) + + Case "LINE" + If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch Linie zu laden", False) + + ctrl = ClassControlCreator.CreateExistingLine(dr, False) + End Select + + If TypeOf ctrl IsNot Label Then + ' If first_control Is Nothing Then + 'first_control = ctrl + 'End If + 'last_control = ctrl + End If + + pnldesigner.Controls.Add(ctrl) + + LoadSimpleData(ctrl, dr.Item("GUID")) + Next + If LogErrorsOnly = False Then ClassLogger.Add(" >> Controls geladen", False) + ClassLogger.Add("", False) + CTRLS_Loaded = True + FillIndexValues() + 'Catch ex As Exception + ' If LogErrorsOnly = False Then MsgBox("Error Load_Controls: " & ex.Message, MsgBoxStyle.Critical, "Attention error:") + ' ' allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Error Load_Controls: " & ex.Message, Environment.UserName) + ' ClassLogger.Add("Unvorhergesehener Fehler bei Load_Controls:" & ex.Message) + ' ClassLogger.Add("", False) + + 'End Try + + End Sub + + Sub FillIndexValues() + Dim controltype As String + Dim indexname As String + Dim resultvalue + + 'Try + For Each inctrl As Control In Me.pnldesigner.Controls + + Dim CONTROL_ID = inctrl.Tag + Dim controlRow = (From form In DT_PROFILE_CONTROLS.AsEnumerable' DD_DMSLiteDataSet.VWPM_CONTROL_INDEX.AsEnumerable() + Select form + Where form.Item("GUID") = CONTROL_ID).Single() + + Dim Type As String = inctrl.GetType.ToString + Dim Typ As String = controlRow.Item("CTRL_TYPE") + If Typ = "LBL" Or Typ = "LINE" Then + Continue For + End If + Dim idxname As String = controlRow.Item("INDEX_NAME") + ' Wenn kein defaultValue existiert, leeren String setzen + Dim defaultValue As String = NotNull(controlRow.Item("DEFAULT_VALUE"), String.Empty) + indexname = idxname + Dim LoadIDX As Boolean = controlRow.Item("LOAD_IDX_VALUE") + If LogErrorsOnly = False Then ClassLogger.Add(" >> INDEX: " & idxname & " - CONTROLNAME: " & inctrl.Name & " - LOAD IDXVALUES: " & LoadIDX.ToString, False) + Dim wertWD + Select Case Type + Case "System.Windows.Forms.TextBox" + Try + controltype = "Textbox" + If idxname = "" Then + MsgBox("Achtung fehlerhafte Konfiguration:" & vbNewLine & "Für das Control " & inctrl.Name & " wurde KEIN INDEX hinterlegt!" & vbNewLine & "Bitte prüfen Sie den Formulardesigner!", MsgBoxStyle.Critical) + Exit For + End If + If idxname Is Nothing = False Then + If LoadIDX = False Or idxname = "DD PM-ONLY FOR DISPLAY" Then + ' Wenn kein Index exisitiert, defaultValue laden + inctrl.Text = defaultValue + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexwert soll nicht geladen werden.", False) + Exit Select + End If + + wertWD = GetWM_Value_Multiple_Docs(idxname) + If wertWD = "" And defaultValue <> "" Then + inctrl.Text = defaultValue + Else + inctrl.Text = NotNull(wertWD, defaultValue) + End If + + End If + Catch ex As Exception + errormessage = "Unexpected error in FillIndexValues TextBox(MI):" & vbNewLine & ex.Message & vbNewLine & "Check Logfile" + My.Settings.Save() + frmError.ShowDialog() + ClassLogger.Add(">> Unexpected error in FillIndexValues TextBox(MI): " & ex.Message, True) + ClassLogger.Add(">> Controltype: " & controltype, False) + ClassLogger.Add(">> Indexname windream: " & indexname, False) + Exit Sub + End Try + + Case "System.Windows.Forms.ComboBox" + controltype = "ComboBox" + Dim cmb As ComboBox = inctrl + If idxname = "" Then + MsgBox("Achtung fehlerhafte Konfiguration:" & vbNewLine & "Für das Control " & inctrl.Name & " wurde KEIN INDEX hinterlegt!" & vbNewLine & "Bitte prüfen Sie den Formulardesigner!", MsgBoxStyle.Critical) + Exit For + End If + If idxname Is Nothing = False Then + If LoadIDX = False Then + If defaultValue = String.Empty Then + cmb.SelectedIndex = -1 + Else + cmb.Text = defaultValue + End If + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexwert soll nicht geladen werden.", False) + Exit Select + End If + wertWD = GetWM_Value_Multiple_Docs(idxname) + + If wertWD Is Nothing Or wertWD = "" Then + If defaultValue = String.Empty Then + cmb.SelectedIndex = -1 + Else + cmb.SelectedIndex = cmb.FindStringExact(defaultValue) + End If + Else + cmb.SelectedIndex = cmb.FindStringExact(wertWD) + End If + End If + Case "System.Windows.Forms.DataGridView" + controltype = "DataGridView" + Dim dgv As DataGridView = inctrl + If idxname = "" Then + MsgBox("Achtung fehlerhafte Konfiguration:" & vbNewLine & "Für das Control " & inctrl.Name & " wurde KEIN INDEX hinterlegt!" & vbNewLine & "Bitte prüfen Sie den Formulardesigner!", MsgBoxStyle.Critical) + Exit For + End If + If idxname Is Nothing = False Then + If LoadIDX = False Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexwert soll nicht geladen werden.", False) + Exit Select + End If + + wertWD = GetWM_Value_Multiple_Docs(idxname) + + If wertWD Is Nothing = False Then + 'Es wird gegen ein Vektorfeld nachindexiert + If wertWD.GetType.ToString.Contains("System.Object") Then + Select Case Typ + 'Tabellendarstellung + Case "TABLE" + Dim dt As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = " & CONTROL_ID) + Dim SpaltenWerte As String() + If dt.Rows.Count > 1 Then + For Each Zeile As Object In wertWD + SpaltenWerte = Split(Zeile, Delimiter) + Select Case dt.Rows.Count + Case 2 + If SpaltenWerte.Length = 2 Then + dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1)}) + Else + dgv.Rows.Add(New String() {SpaltenWerte(0), ""}) + End If + Case 3 + If SpaltenWerte.Length = 3 Then + dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2)}) + ElseIf SpaltenWerte.Length = 2 Then + dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), ""}) + Else + dgv.Rows.Add(New String() {SpaltenWerte(0), "", ""}) + End If + Case 4 + If SpaltenWerte.Length = 4 Then + dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2), SpaltenWerte(3)}) + ElseIf SpaltenWerte.Length = 3 Then + dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), SpaltenWerte(2), ""}) + ElseIf SpaltenWerte.Length = 2 Then + dgv.Rows.Add(New String() {SpaltenWerte(0), SpaltenWerte(1), "", ""}) + Else + dgv.Rows.Add(New String() {SpaltenWerte(0), "", "", ""}) + End If + + End Select + Next + End If + + Case Else + 'es handelt sich um ein einfaches Vektorfeld mit einem Wert + For Each obj As Object In wertWD + If obj Is Nothing = False Then + dgv.Rows.Add(New String() {obj.ToString}) + End If + + Next + End Select + + + End If + End If + End If + + Case "System.Windows.Forms.CheckBox" + controltype = "CheckBox" + If idxname = "" Then + MsgBox("Achtung fehlerhafte Konfiguration:" & vbNewLine & "Für das Control " & inctrl.Name & " wurde KEIN INDEX hinterlegt!" & vbNewLine & "Bitte prüfen Sie den Formulardesigner!", MsgBoxStyle.Critical) + Exit For + End If + If idxname Is Nothing = False Then + + Dim chk As CheckBox = inctrl + + If LoadIDX = False Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexwert soll nicht geladen werden.", False) + + If defaultValue <> String.Empty Then + Dim result + If Boolean.TryParse(defaultValue, result) Then + chk.Checked = result + End If + End If + + Exit Select + End If + wertWD = GetWM_Value_Multiple_Docs(idxname) + + If wertWD Is Nothing Then + ClassLogger.Add(">> Zurückgegebener Wert des Wertes für Checkbox mit Indexname '" & indexname & "' ist nothing. Check defaultvalue", False) + chk.Checked = False + Else + If wertWD.ToString = "" Then + If defaultValue <> String.Empty Then + Dim result + If Boolean.TryParse(defaultValue, result) Then + chk.Checked = result + Else : chk.Checked = False + End If + Else + chk.Checked = False + End If + Else + Dim _value + If wertWD.ToString = "System.Object[]" Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> CheckBoxValue with VektorField: " & idxname, False) + If wertWD.length = 1 Then + _value = wertWD(0) + Else ' + ClassLogger.Add(" >> Vectorfield " & idxname & "' contains more then one value - First value will be used", False) + _value = wertWD(0) + End If + Else + _value = wertWD + End If + Try + Select Case CBool(_value) + Case True + chk.Checked = True + Case Else + chk.Checked = False + End Select + Catch ex As Exception + ClassLogger.Add(">> Unvorhergesehener Fehler bei CBool(wertWD) - CheckBox: " & ex.Message & vbNewLine & "Wert WD: " & wertWD.ToString, True) + chk.Checked = False + End Try + End If + End If + + End If + Case "System.Windows.Forms.DateTimePicker" + controltype = "DateTimePicker" + Dim DTP As DateTimePicker = inctrl + If idxname = "" Then + MsgBox("Achtung fehlerhafte Konfiguration:" & vbNewLine & "Für das Control " & inctrl.Name & " wurde KEIN INDEX hinterlegt!" & vbNewLine & "Bitte prüfen Sie den Formulardesigner!", MsgBoxStyle.Critical) + Exit For + End If + End Select + Next + 'Catch ex As Exception + ' errormessage = "Unexpected Error in FillIndexValues(MI):" & vbNewLine & ex.Message & vbNewLine & "Check Logfile" + ' My.Settings.Save() + ' frmError.ShowDialog() + ' ClassLogger.Add(">> Unexpected Error in FillIndexValues(MIs: " & ex.Message, True) + ' ClassLogger.Add(">> Controltype: " & controltype, False) + ' ClassLogger.Add(">> Indexname windream: " & indexname, False) + + + 'End Try + + + End Sub + Private Function GetWM_Value_Multiple_Docs(idxname As String) + Try + Dim valueAllOver = "" + Dim tempIndexValue = "" + Dim idoccount As Integer = 1 + For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows + Dim WMDOC As WMObject + Try + WMDOC = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, docrow.Item("FULL_PATH").ToString.Substring(2)) + Catch ex As Exception + ClassLogger.Add("error while creating WMObject in (textCheckIndex): " & ex.Message) + Exit For + End Try + If Not IsNothing(WMDOC) Then + CURRENT_WMFILE = WMDOC + If idxname.StartsWith("[%VKT") And PROFIL_VEKTORINDEX <> "" Then + tempIndexValue = ReturnVektor_IndexValue(idxname, WMDOC) + Else + tempIndexValue = WMDOC.GetVariableValue(idxname) + If IsNothing(tempIndexValue) Then tempIndexValue = "" + If tempIndexValue.ToString = "System.Object[]" Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> TextBox with VektorField: " & idxname, False) + If tempIndexValue.Length = 1 Then + tempIndexValue = tempIndexValue(0) + Else ' + ClassLogger.Add(" >> Vectorfield " & idxname & "' contains more then one value - First value will be used", False) + tempIndexValue = tempIndexValue(0) + End If + End If + End If + + If idoccount = 1 Then + valueAllOver = tempIndexValue + Else + If valueAllOver <> tempIndexValue Then + If CURRENT_USER_LANGUAGE <> "de-DE" Then + valueAllOver = "(Different values)" + Else + valueAllOver = "(Untersch. Werte)" + End If + End If + End If + idoccount += 1 + End If + Next + Return valueAllOver + Catch ex As Exception + ClassLogger.Add("Unexpected error in GetWM_Value_Multiple_Docs: " & ex.Message, True) + Return "Unexp. error in GetWM_Value_Multiple_Docs" + End Try + End Function + Private Function ReturnVektor_IndexValue(VKTBezeichner As String, WMFile As WMObject) + Try + Dim value + Dim name = VKTBezeichner.Replace("[%VKT", "") + Dim Sort_Arr() As String + Dim i As Integer = 0 + 'Jetzt im Vektorfeld des Profils nachsehen ob der WErt bereits vorhanden ist + Dim wertWD = WMFile.GetVariableValue(PROFIL_VEKTORINDEX) + If wertWD Is Nothing = False Then + 'Es wird gegen ein Vektorfeld nachindexiert + If wertWD.GetType.ToString.Contains("System.Object") Then + 'es handelt sich um ein Vektorfeld - Zuweisen der Indexwerte des Vektorfeldes zu Array + For Each obj As Object In wertWD + If obj Is Nothing = False Then + ReDim Preserve Sort_Arr(i) + Sort_Arr(i) = obj.ToString() + i += 1 + End If + Next + 'Das Ergebnis-Array nun Rückwärts sortieren, um die letzte Änderung zu finden + For Each _string As Object In Sort_Arr.Reverse() + Dim DDPM_String As String = _string.ToString() + ' + Dim VektorArray() = Split(DDPM_String, Delimiter) + If VektorArray(1).ToString.ToLower = name.ToLower Then + value = VektorArray(2) + Exit For + End If + + Next + + End If + End If + If value Is Nothing Then value = "" + Return value + Catch ex As Exception + MsgBox("Unexpected Error in ReturnVektor_IndexValue(MV): " & vbNewLine & ex.Message, MsgBoxStyle.Critical) + ClassLogger.Add("Unexpected Error in ReturnVektor_IndexValue(MV): " & ex.Message) + Return "" + End Try + + + + + End Function + + Public Sub OnTextBoxFocus(sender As Object, e As EventArgs) + Dim box As TextBox = sender + box.BackColor = Color.Lime + box.SelectAll() + End Sub + Public Sub OnTextBoxLostFocus(sender As System.Object, e As System.EventArgs) + Dim box As TextBox = sender + box.BackColor = Color.White + End Sub + Public Sub OnTextBoxKeyUp(sender As Object, e As KeyEventArgs) + Dim box As TextBox = sender + If box.Text <> String.Empty And me_closing = False And CTRLS_Loaded = True And FORM_Shown = True Then + + If (e.KeyCode = Keys.Return) Or (e.KeyCode = Keys.Tab) Or (e.KeyCode = Keys.Enter) Then + Try + If ClassControlCreator.GET_CONTROL_PROPERTIES(DT_PROFILE_CONTROLS, box.Name) = 0 Then + MsgBox("Unexpected Error in getting control-properties - Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + + If ClassControlCreator.GET_DEPENDING_CONTROLS(DT_PROFILE_CONTROLS, box.Name) = False Then + MsgBox("Unexpected Error in getting dependent controls - Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + + For Each ROW As DataRow In CURR_DT_DEPENDING_CONTROLS.Rows + 'Try + 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 = ClassPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + + _dependingControl_in_action = True + Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) + _dependingControl_in_action = False + End If + 'Catch ex As Exception + ' ClassLogger.Add("Unexpected Error in displaying SQL-result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message) + 'End Try + + Next + + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Eventhandler OnTextBoxKeyUp - ERROR: " & ex.Message) + End Try + + End If + End If + + End Sub + Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) + 'Try + Dim resultDT As DataTable = ClassDatabase.Return_Datatable_CS(sqlCommand, sqlConnection) + If Not IsNothing(resultDT) Then + 'Ist das Control ein Control was mehrfachwerte enthalten kann + If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_DATAGRIDVIEW) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then + If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then + Dim cmbpanel As ComboBox = pnldesigner.Controls(displayboxname) + If IsNothing(cmbpanel) Then + Exit Sub + End If + cmbpanel.DataSource = Nothing + cmbpanel.DataSource = resultDT + cmbpanel.DisplayMember = resultDT.Columns(0).ColumnName + cmbpanel.ValueMember = resultDT.Columns(0).ColumnName + ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_DATAGRIDVIEW) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then + 'not implemented + End If + Else + If resultDT.Rows.Count = 1 Then + pnldesigner.Controls(displayboxname).Text = resultDT.Rows(0).Item(0).ToString + Else + pnldesigner.Controls(displayboxname).Text = "RESULT = NOTHING or MORE THAN 1 ROW" + End If + End If + End If + 'Catch ex As Exception + ' ClassLogger.Add("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message) + ' MsgBox("Unexpected error in Depending_Control_Set_Result: " & ex.Message, MsgBoxStyle.Critical) + 'End Try + End Sub + Public Sub OnCmbselectedIndex(sender As System.Object, e As System.EventArgs) + Dim cmb As ComboBox = sender + If cmb.SelectedIndex <> -1 And CTRLS_Loaded = True And FORM_Shown = True Then + ' Try + If ClassControlCreator.GET_CONTROL_PROPERTIES(DT_PROFILE_CONTROLS, cmb.Name) = 0 Then + MsgBox("Unexpected Error in getting control-properties CMB - Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + + If ClassControlCreator.GET_DEPENDING_CONTROLS(DT_PROFILE_CONTROLS, cmb.Name) = False Then + MsgBox("Unexpected Error in getting dependent controls CMB- Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + If _dependingControl_in_action = True Or CURR_DT_DEPENDING_CONTROLS Is Nothing Then + Exit Sub + End If + + For Each ROW As DataRow In CURR_DT_DEPENDING_CONTROLS.Rows + 'Try + Dim displayboxname = ROW.Item("NAME").ToString + If Not IsDBNull(ROW.Item("CONNECTION_ID")) And Not IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")) Then + Dim sql_Statement = ROW.Item("SQL_UEBERPRUEFUNG") + + sql_Statement = ClassPatterns.ReplaceAllValues(sql_Statement, pnldesigner, WMObject, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL) + + + _dependingControl_in_action = True + Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) + _dependingControl_in_action = False + + End If + 'Catch ex As Exception + ' ClassLogger.Add("Unexpected Error in displaying SQL-result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message) + 'End Try + Next + + 'Catch ex As Exception + ' ClassLogger.Add("Unexpected Error in Eventhandler OnCmbselectedIndex - ERROR: " & ex.Message) + 'End Try + + SendKeys.Send("{TAB}") + + End If + End Sub + Public Sub onDGVRowValidating(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs) + Dim dgv As DataGridView = sender + Try + If ClassControlCreator.GET_CONTROL_PROPERTIES(DT_PROFILE_CONTROLS, dgv.Name) = 0 Then + MsgBox("Unexpected Error in getting control-properties DGV - Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + + If ClassControlCreator.GET_DEPENDING_CONTROLS(DT_PROFILE_CONTROLS, dgv.Name) = False Then + MsgBox("Unexpected Error in getting dependent controls DGV- Check the log and inform Your sysadmin!", MsgBoxStyle.Critical) + Exit Sub + End If + + + If Not IsNothing(CURR_DT_DEPENDING_CONTROLS) And CURR_DT_DEPENDING_CONTROLS.Rows.Count > 0 Then + For Each ROW As DataRow In CURR_DT_DEPENDING_CONTROLS.Rows + Try + Dim displayboxname = ROW.Item(0).ToString + If Not IsDBNull(ROW.Item(1)) And Not IsDBNull(ROW.Item(2)) Then + Dim sql_Statement = ROW.Item(2) + Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString() + sql_Statement = sql_Statement.ToString.Replace(dgv.Name, cellvalue) + Dim resultDT As DataTable = ClassDatabase.Return_Datatable_CS(sql_Statement, ROW.Item(1)) + If resultDT.Rows.Count >= 1 Then + 'Nur dediziert einen Wert zurückerhalten + For Each row1 As DataRow In resultDT.Rows + Dim result = row1.Item(0) + If Not IsNothing(result) Then + pnldesigner.Controls(displayboxname).Text = result.ToString + + Exit For + Else + pnldesigner.Controls(displayboxname).Text = "RESULT = NOTHING" + + Exit For + End If + Next + Else + pnldesigner.Controls(displayboxname).Text = "NO RESULT" + + End If + + + End If + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Display SQL result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message) + End Try + + Next + + End If + + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Eventhandler Variable SQL Result - ERROR: " & ex.Message) + End Try + + End Sub + Sub LoadSimpleData(control As Control, controlId As Integer) + If TypeOf control Is Label Then Exit Sub + + Dim sql As String = $"SELECT NAME, CONNECTION_ID, SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE GUID = {controlId} AND PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(ISNULL(SQL_UEBERPRUEFUNG,'')) > 0 AND SQL_UEBERPRUEFUNG NOT LIKE '%#WMI#%' AND SQL_UEBERPRUEFUNG NOT LIKE '%#CTRL#%'" + Dim dt As DataTable = ClassDatabase.Return_Datatable(sql) + + If IsNothing(dt) Then Exit Sub + If dt.Rows.Count = 0 Then Exit Sub + + For Each row As DataRow In dt.Rows + Dim name As String = row.Item("NAME") + + If IsDBNull(row.Item("CONNECTION_ID")) Then Continue For + If IsDBNull(row.Item("SQL_UEBERPRUEFUNG")) Then Continue For + + Dim sqlStatement As String = row.Item("SQL_UEBERPRUEFUNG") + Dim connectionId As Integer = row.Item("CONNECTION_ID") + + sql = ClassPatterns.ReplaceInternalValues(sqlStatement) + dt = ClassDatabase.Return_Datatable(sql) + + If IsNothing(dt) Then + MsgBox($"SQL-Query for control {control.Name} is invalid.") + Exit Sub + End If + + If TypeOf control Is TextBox Then + Dim firstRow As DataRow = dt.Rows(0) + Dim value = firstRow.Item(0) + + control.Text = value + ElseIf TypeOf control Is ComboBox Then + Dim comboxBox As ComboBox = control + Dim list As New List(Of String) + + For Each _row As DataRow In dt.Rows + list.Add(_row.Item(0)) + Next + + comboxBox.DataSource = list + ElseIf TypeOf control Is DataGridView Then + Dim dataGridView As DataGridView = control + + dataGridView.DataSource = dt + End If + Next + End Sub + + Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click + Abschluss() + + End Sub + Sub Abschluss() + btnSave.Enabled = False + + 'Eingaben auf Form überprüfen + If Check_UpdateIndexe() = False Then + + Dim workedFiles As Integer + For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows + CURRENT_DOC_ID = docrow.Item("DOC_ID") + CURRENT_DOC_GUID = docrow.Item("DOC_GUID") + Dim WMDOC As WMObject + Try + WMDOC = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, docrow.Item("FULL_PATH").ToString.Substring(2)) + Catch ex As Exception + ClassLogger.Add("error while creating WMObject in (IndexVKTMultipleFiles): " & ex.Message) + Exit For + End Try + If Not IsNothing(WMDOC) Then + CURRENT_WMFILE = WMDOC + If ClassFinalizeDoc.Write_Final_Metadata = True Then + Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", Environment.UserName, CURRENT_DOC_GUID) + If ClassDatabase.Execute_non_Query(sql) = True Then + workedFiles += 1 + End If + End If + + Dim WORK_HISTORY_ENTRY = Nothing + Try + WORK_HISTORY_ENTRY = DT_PROFIL.Rows(0).Item("WORK_HISTORY_ENTRY") + If IsDBNull(WORK_HISTORY_ENTRY) Then + WORK_HISTORY_ENTRY = Nothing + End If + Catch ex As Exception + WORK_HISTORY_ENTRY = Nothing + End Try + If Not IsNothing(WORK_HISTORY_ENTRY) Then + If WORK_HISTORY_ENTRY <> String.Empty Then + Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" + ' einen Regulären Ausdruck laden + Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg) + ' die Vorkommen im SQL-String auslesen + Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(WORK_HISTORY_ENTRY) + '#### + ' alle Vorkommen innerhalbd er Namenkonvention durchlaufen + For Each element As System.Text.RegularExpressions.Match In elemente + Try + If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX WORK_HISTORY_ENTRY: " & element.Value, False) + Dim CTRL_ID = element.Value.Substring(2, element.Value.Length - 3) + CTRL_ID = CTRL_ID.Replace("CTRLID", "") + Dim value_from_control + For Each inctrl As Control In Me.pnldesigner.Controls + If IsNothing(inctrl.Tag) Then + Continue For + End If + If inctrl.Tag = CTRL_ID Then + '###### + Dim Type As String = inctrl.GetType.ToString + Select Case Type + Case "System.Windows.Forms.TextBox" + Try + value_from_control = inctrl.Text + Catch ex As Exception + value_from_control = String.Empty + End Try + + Case "System.Windows.Forms.ComboBox" + Dim cmb As ComboBox = inctrl + Try + value_from_control = cmb.Text + Catch ex As Exception + value_from_control = String.Empty + End Try + Case "System.Windows.Forms.DateTimePicker" + Dim dtp As DateTimePicker = inctrl + Try + value_from_control = dtp.Value.ToString + Catch ex As Exception + value_from_control = String.Empty + End Try + + Case "System.Windows.Forms.CheckBox" + Dim chk As CheckBox = inctrl + Try + value_from_control = chk.Checked + Catch ex As Exception + value_from_control = String.Empty + End Try + End Select + + End If + Next + If Not IsNothing(value_from_control) And value_from_control <> String.Empty Then + WORK_HISTORY_ENTRY = WORK_HISTORY_ENTRY.ToString.Replace(element.Value, value_from_control) + End If + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Checking control values for WORK_HISTORY_ENTRY - ERROR: " & ex.Message) + End Try + Next + If WORK_HISTORY_ENTRY.ToString.Contains("@DATE") Then + WORK_HISTORY_ENTRY.ToString.Replace("@DATE", Now.ToShortDateString) + End If + If WORK_HISTORY_ENTRY.ToString.Contains("@USERNAME") Then + WORK_HISTORY_ENTRY.ToString.Replace("@USERNAME", Environment.UserName) + End If + Else + WORK_HISTORY_ENTRY = "" + End If + Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, Environment.UserName, Environment.MachineName, WORK_HISTORY_ENTRY) + ClassDatabase.Execute_non_Query(ins) + + '####### ANNOTIEREN WENN KONFIGURIERT ####### + If docrow.Item("FULL_PATH").ToString.ToLower.EndsWith(".pdf") Then + If Not IsNothing(WORK_HISTORY_ENTRY) Then + If CBool(DT_PROFIL.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then + Dim Sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID) + Dim DT_ENTRY As DataTable = ClassDatabase.Return_Datatable(Sql, True) + If Not IsNothing(DT_ENTRY) Then + If DT_ENTRY.Rows.Count = 1 Then + Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT") + ClassAnnotation.Annotate_PDF("Workflow-State:", AnnotationString, 0) + End If + End If + End If + Dim value = DT_PROFIL.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES") + If CBool(value) = True Then + Dim Sql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID) + Dim DT_ENTRIES As DataTable = ClassDatabase.Return_Datatable(Sql, True) + If Not IsNothing(DT_ENTRIES) Then + If DT_ENTRIES.Rows.Count > 0 Then + Dim AnnotationString As String = "" + For Each rw As DataRow In DT_ENTRIES.Rows + AnnotationString = AnnotationString & rw.Item("WORKED_WHEN") & " " & rw.Item("WORKED_BY") & ": " & rw.Item("STATUS_COMMENT") & vbNewLine + Next + ClassAnnotation.Annotate_PDF("Workflow History:", AnnotationString, 0, 10, 40) + End If + End If + End If + End If + End If + + '####### WENN MOVE2FOLDER KONFIGURIERT IST####### + If MOVE2Folder <> "" Then + Dim idxerr_message = _allgFunk.Move2Folder(docrow.Item("FULL_PATH").ToString, MOVE2Folder, CURRENT_ProfilGUID) + If idxerr_message <> "" Then + MsgBox("Error in Move2Folder - Check the log And inform Your sysadmin", MsgBoxStyle.Critical) + + End If + End If + + End If + + + End If + Next + + '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 + MsgBox(String.Format("{0} Dateien wurden abgeschlossen!", workedFiles), MsgBoxStyle.Information, "Erfolgsmeldung:") + ElseIf CURRENT_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 + 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 + 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 + + End If + Me.Close() + 'Catch ex As Exception + ' errormessage = "Unvorhergesehener Fehler bei Abschluss:" & ex.Message + ' My.Settings.Save() + ' frmError.ShowDialog() + ' ClassLogger.Add(">> Unvorhergesehener Fehler bei Abschluss: " & ex.Message, True) + 'End Try + Else + 'lblerror.Visible = True + 'lblerror.Text = errmessage + errormessage = errmessage + frmError.ShowDialog() + End If + btnSave.Enabled = True + End Sub + + Function Check_UpdateIndexe() + ' Try + + Dim missing As Boolean = False + 'Jedes Control auf panel durchlaufen + For Each inctrl As Control In Me.pnldesigner.Controls + 'Der input der Box,Cmb muss jedes mal geleert werden + Dim input As String = "" + 'Jedes Control in Konfig Tab durchlaufn + For Each dr As DataRow In DT_PROFILE_CONTROLS.Rows + If dr.Item("CTRL_TYPE") = "LBL" Or dr.Item("CTRL_TYPE") = "LINE" Then + Continue For + End If + 'Den Indexnamen auslesen + Dim _IDXName As String = dr.Item("INDEX_NAME") + Dim _MUSSEINGABE As Boolean = CBool(dr.Item("VALIDATION")) + Dim _READ_ONLY As Boolean = CBool(dr.Item("READ_ONLY")) + Dim Typ As String = dr.Item("CTRL_TYPE") + Dim CONTROL_ID As String = dr.Item("GUID") + Dim ctrl = dr.Item("NAME") + 'Nur wenn der Name der Zeile entspricht und der Index READ_ONLY FALSE ist + If dr.Item("NAME") = inctrl.Name And (_READ_ONLY = False Or dr.Item("SQL_UEBERPRUEFUNG") <> "") And _IDXName <> "DD PM-ONLY FOR DISPLAY" Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung für Control (" & CONTROL_ID & ") '" & ctrl & "' gestartet. Indexname '" & _IDXName & "'", False) + If _IDXName = "" Then + ClassLogger.Add(" >> Indexname is unexpected empty.", False) + Continue For + End If + Dim Type As String = inctrl.GetType.ToString + Select Case Type + Case "System.Windows.Forms.TextBox" + Try + 'Als erstes überprüfen ob überhaupt etwas eingetragen worden ist + If Check_Missing(inctrl, "txt") = True And _MUSSEINGABE = True Then 'NICHTS EINGETRAGEN + missing = True + errmessage = "Missing input in textbox '" & inctrl.Name & "'" + inctrl.BackColor = Color.Red + Exit For + Else + input = inctrl.Text + 'Wenn der Wert in ein Vektorfeld geschrieben wird + If _IDXName.StartsWith("[%VKT") Then + input = Return_PM_VEKTOR(input, _IDXName) + 'Hier muss nun separat als Vektorfeld indexiert werden + If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then + missing = True + errmessage = "Error while indexing Textbox with VEKTOR - Check the log and inform Your sysadmin" + + Exit For + End If + Else + Dim result() As String + ReDim Preserve result(0) + + result(0) = input + If IndexMultipleFiles(_IDXName, result) = False Then + missing = True + errmessage = "error while indexing Textbox - Check the log and inform Your sysadmin" + Exit For + Else + 'Nun das Logging + If PROFIL_LOGINDEX <> "" Then + input = Return_LOGString(input, input, _IDXName) + IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) + End If + End If + End If + + End If + Catch ex As Exception + Dim st As New StackTrace(True) + st = New StackTrace(ex, True) + MsgBox("Unvorhergesehener Fehler in Check_UpdateIndexe TextBox: " & vbNewLine & ex.Message & vbNewLine & "Line: " & st.GetFrame(0).GetFileLineNumber().ToString, MsgBoxStyle.Critical, "Error:") + ClassLogger.Add("Unvorhergesehener Fehler in Check_UpdateIndexe:" & ex.Message & " - Line: " & st.GetFrame(0).GetFileLineNumber().ToString, True) + Return True + End Try + + Case "System.Windows.Forms.ComboBox" + Dim cmb As ComboBox = inctrl + 'Wenn kein Wert ausgewählt wurde und der Index aber gesetzt werden muss + If cmb.SelectedIndex = -1 And _MUSSEINGABE = True Then + missing = True + errmessage = "Please Choose an entry out of ComboBox '" & cmb.Name & "'" + Exit For + ElseIf cmb.SelectedIndex <> -1 Then + input = cmb.Text + 'Wenn der Wert in ein Vektorfeld geschrieben wird + If _IDXName.StartsWith("[%VKT") Then + input = Return_PM_VEKTOR(input, _IDXName) + 'Hier muss nun separat als Vektorfeld indexiert werden + If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then + missing = True + errmessage = "Error while indexing Combobox with VEKTOR - Check the log and inform Your sysadmin" + Exit For + End If + Else + Dim result() As String + ReDim Preserve result(0) + result(0) = input + If IndexMultipleFiles(_IDXName, result) = False Then + cmb.DroppedDown = True + missing = True + errmessage = "error while indexing Combobox - Check the log and inform Your sysadmin" + Exit For + Else + 'Nun das Logging + If PROFIL_LOGINDEX <> "" Then + input = Return_LOGString(input, input, _IDXName) + IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) + End If + End If + End If + End If + Case "System.Windows.Forms.DateTimePicker" + Dim dtp As DateTimePicker = inctrl + 'Wenn kein Wert ausgewählt wurde und der Index aber gesetzt werden muss + If _MUSSEINGABE = True And dtp.Value.ToString = String.Empty Then + missing = True + errmessage = "Please Choose DateValue for field'" & dtp.Name & "'" + Exit For + ElseIf dtp.Value.ToString <> "01.01.0001 00:00:00" Then + input = CDate(dtp.Value) + 'Wenn der WErt in ein Vektorfeld geschrieben wird + If _IDXName.StartsWith("[%VKT") Then + 'Input = die String komponente als String + input = Return_PM_VEKTOR(input, _IDXName) + 'Hier muss nun separat als Vektorfeld indexiert werden + If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then + missing = True + errmessage = "Error while indexing DatePicker with VEKTOR - Check the log and inform Your sysadmin" + Exit For + End If + Else + Dim result() + ReDim Preserve result(0) + result(0) = CDate(input) + 'MsgBox(_IDXName) + If IndexMultipleFiles(_IDXName, result) = False Then + missing = True + errmessage = "Error while indexing DatePicker - Check the log and inform Your sysadmin" + Exit For + Else + 'Nun das Logging + If PROFIL_LOGINDEX <> "" Then + input = Return_LOGString(input, input, _IDXName) + IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) + End If + End If + End If + + Else + If LogErrorsOnly = False Then ClassLogger.Add(" >> DateValue is 01.01.0001 00:00:00", False) + End If + Case "System.Windows.Forms.CheckBox" + Dim chk As CheckBox = inctrl + input = chk.Checked.ToString + + If chk.Checked = False And _MUSSEINGABE = True Then + missing = True + errmessage = "Option '" & chk.Name & "' is required." + Exit For + End If + + + Dim result() As String + ReDim Preserve result(0) + If chk.Checked Then + result(0) = 1 + Else + result(0) = 0 + End If + + If _IDXName.StartsWith("[%VKT") Then + 'Input = die String komponente mit Boolean als String + input = Return_PM_VEKTOR(chk.Checked.ToString, _IDXName) + 'Hier muss nun separat als Vektorfeld indexiert werden + If IndexVKTMultipleFiles(input, PROFIL_VEKTORINDEX) = True Then + missing = True + errmessage = "Error while indexing Checkbox with VEKTOR - Check the log and inform Your sysadmin" + + Exit For + End If + Else + If IndexMultipleFiles(_IDXName, result) = False Then + missing = True + errmessage = "error while indexing Checkbox - Check the log and inform Your sysadmin" + Exit For + Else + 'Nun das Logging + If PROFIL_LOGINDEX <> "" Then + input = Return_LOGString(CBool(result(0)).ToString, result(0).ToString, _IDXName) + IndexVKTMultipleFiles(input, PROFIL_LOGINDEX) + End If + End If + End If + + Case "System.Windows.Forms.DataGridView" + Dim dgv As DataGridView = inctrl + + Dim Zeilen As Integer = 0 + For Each row As DataGridViewRow In dgv.Rows + Dim exists = False + ' MsgBox(row.Cells(0).Value.GetType.ToString) + If row.Cells(0).Value Is Nothing = False Then + Zeilen += 1 + End If + Next + 'Wenn kein Wert ausgewählt wurde und der Index aber gesetzt werden muss + If _MUSSEINGABE = True And Zeilen = 0 Then + missing = True + errmessage = "Missing input in vectorfield'" & dgv.Name & "'" + Exit For + ElseIf Zeilen > 0 Then + Dim ZeilenGrid As Integer = 0 + Dim myVektorArr As String() + 'Jeden Werte des Datagridviews durchlaufen + For Each row As DataGridViewRow In dgv.Rows + Dim exists = False + Select Case Typ + Case "TABLE" + ' MsgBox(row.Cells(0).Value.GetType.ToString) + Dim str As String + If row.Cells(0).Value Is Nothing = False Then + 'Das Array anpassen + ReDim Preserve myVektorArr(ZeilenGrid) + For i = 0 To row.Cells.Count - 1 + Select Case i + Case 0 + str = row.Cells(i).Value + Case Else + str = str & Delimiter & row.Cells(i).Value + End Select + + Next + 'Den Wert im Array speichern + myVektorArr(ZeilenGrid) = str + ZeilenGrid += 1 + End If + Case Else + ' MsgBox(row.Cells(0).Value.GetType.ToString) + If row.Cells(0).Value Is Nothing = False Then + 'Das Array anpassen + ReDim Preserve myVektorArr(ZeilenGrid) + 'Den Wert im Array speichern + myVektorArr(ZeilenGrid) = row.Cells(0).Value.ToString + ZeilenGrid += 1 + End If + End Select + + Next + 'Jetzt die Datei indexieren + If IndexMultipleFiles(_IDXName, myVektorArr) = False Then + missing = True + errmessage = "error while indexing Vektorfeld - Check the log and inform Your sysadmin" + Exit For + End If + End If + End Select + End If 'End If für Control und ReadOnly = False + Next + Next + + Return missing + + 'Catch ex As Exception + ' Dim st As New StackTrace(True) + ' st = New StackTrace(ex, True) + ' MsgBox("Unvorhergesehener Fehler in Check_UpdateIndexe: " & vbNewLine & ex.Message & vbNewLine & "Line: " & st.GetFrame(0).GetFileLineNumber().ToString, MsgBoxStyle.Critical, "Error:") + ' ClassLogger.Add("Unvorhergesehener Fehler in Check_UpdateIndexe:" & ex.Message & " - Line: " & st.GetFrame(0).GetFileLineNumber().ToString, True) + ' Return True + 'End Try + + End Function + Function Check_Missing(control As Control, typ As String) + Select Case typ + Case "txt" + If control.Text = String.Empty Or control.Text = "(Different values)" Or control.Text = "(Untersch. Werte)" Then + Return True + End If + Return False + End Select + End Function + + Private Function IndexMultipleFiles(idxxname As String, idxvalue As Object) + Dim _allfine As Boolean = True + Try + For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows + Dim WMDOC As WMObject + Try + WMDOC = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, docrow.Item("FULL_PATH").ToString.Substring(2)) + Catch ex As Exception + ClassLogger.Add("error while creating WMObject in (IndexMultipleFiles): " & ex.Message) + _allfine = False + Exit For + + End Try + + 'Die Arrays vorbereiten + Dim arrIndex() As String = Nothing + Dim arrValue() As String = Nothing + arrIndex = Nothing + arrValue = Nothing + 'Den Indexnamen übergeben + ReDim Preserve arrIndex(0) + arrIndex(0) = idxxname + 'Das Array der Idnexwerte überprüfen + If idxvalue Is Nothing = False Then + If idxvalue.Length() > 1 Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexing Index '" & idxxname & "' with Arrayvalue", False) + Dim anzahl As Integer = 0 + For Each indexvalue As String In idxvalue + ReDim Preserve arrValue(anzahl) + arrValue(anzahl) = indexvalue + anzahl += 1 + Next + Else + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexing Index '" & idxxname & "' with value '" & idxvalue(0) & "'", False) + ReDim Preserve arrValue(0) + arrValue(0) = idxvalue(0).ToString + End If + 'Jetzt das eigentliche Indexieren der Datei + If Me._windreamPM.RunIndexing(WMDOC, arrIndex, arrValue) = False Then + _allfine = False + Exit For + End If + + End If + Next + + Return _allfine + Catch ex As Exception + ClassLogger.Add("Unexpected error in IndexMultipleFiles: " & ex.Message.ToString, True) + Return False + End Try + End Function + Private Function IndexVKTMultipleFiles(input As String, NameVKTIndex As String) + Dim _allfine As Boolean = True + Dim missing As Boolean = False + For Each docrow As DataRow In CURRENT_DT_MASS_CHANGE_DOCS.Rows + Dim WMDOC As WMObject + Try + WMDOC = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, docrow.Item("FULL_PATH").ToString.Substring(2)) + Catch ex As Exception + ClassLogger.Add("error while creating WMObject in (IndexVKTMultipleFiles): " & ex.Message) + _allfine = False + missing = True + Exit For + End Try + + Dim Anzahl As Integer = 0 + Dim myInputArr As String() + 'Jeden Wert des Vektorfeldes durchlaufen + Dim wertWD = WMDOC.GetVariableValue(NameVKTIndex) + If wertWD Is Nothing = False Then + 'Es wird gegen ein Vektorfeld nachindexiert + If wertWD.GetType.ToString.Contains("System.Object") Then + 'es handelt sich um ein Vektorfeld - Zuweisen der Indexwerte des Vektorfeldes zu Array + For Each obj As Object In wertWD + If obj Is Nothing = False Then + 'Das Array anpassen + ReDim Preserve myInputArr(Anzahl) + 'Den Wert im Array speichern + myInputArr(Anzahl) = obj.ToString + Anzahl += 1 + End If + Next + End If + 'Das Array anpassen + ReDim Preserve myInputArr(Anzahl) + 'und den letzten Wert übergeben + myInputArr(Anzahl) = input + Else + 'Das Array anpassen + ReDim Preserve myInputArr(Anzahl) + 'und den letzten Wert übergeben + myInputArr(Anzahl) = input + End If + + If myInputArr.Length > 0 Then + 'Jetzt die Datei indexieren + If IndexSinglefile(WMDOC, NameVKTIndex, myInputArr) = False Then + missing = True + End If + End If + Next + + Return missing + End Function + Private Function IndexSinglefile(_dok As WINDREAMLib.WMObject, idxxname As String, idxvalue As Object) + Dim File_indexiert As Boolean = False + Try + 'Die Arrays vorbereiten + Dim arrIndex() As String = Nothing + Dim arrValue() As String = Nothing + arrIndex = Nothing + arrValue = Nothing + 'Den Indexnamen übergeben + ReDim Preserve arrIndex(0) + arrIndex(0) = idxxname + 'Das Array der Idnexwerte überprüfen + If idxvalue Is Nothing = False Then + If idxvalue.Length() > 1 Then + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexing Index '" & idxxname & "' with Arrayvalue", False) + Dim anzahl As Integer = 0 + For Each indexvalue As String In idxvalue + ReDim Preserve arrValue(anzahl) + arrValue(anzahl) = indexvalue + anzahl += 1 + Next + Else + If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexing Index '" & idxxname & "' with value '" & idxvalue(0) & "'", False) + ReDim Preserve arrValue(0) + arrValue(0) = idxvalue(0).ToString + End If + 'Jetzt das eigentliche Indexieren der Datei + File_indexiert = Me._windreamPM.RunIndexing(_dok, arrIndex, arrValue) + Return File_indexiert + End If + + Catch ex As Exception + ClassLogger.Add("Unexpected Error in IndexSinglefile: " & ex.Message.ToString, True) + Return Err() + End Try + End Function + Function Return_PM_VEKTOR(input As String, VKTBezeichner As String) + Dim PM_String As String + Try + Dim Bezeichner As String = VKTBezeichner.Replace("[%VKT", "") + PM_String = "DD-PM" & Delimiter & Bezeichner & Delimiter & input & Delimiter & Environment.UserName & Delimiter & Now.ToString + Catch ex As Exception + ClassLogger.Add(">> Fehler in Return_PM_VEKTOR: " & ex.Message, True) + PM_String = "DD-PM ERROR: " & ex.Message + End Try + Return PM_String + + End Function + Function Return_LOGString(input As String, old As String, indexname As String) + Dim PM_String As String + Try + If old = "DDFINALINDEX" Then + PM_String = "DD-PMlog-FINAL" & Delimiter & indexname & Delimiter & input & Delimiter & Environment.UserName & Delimiter & Now.ToString + Else + PM_String = "DD-PMlog-CHG" & Delimiter & indexname & Delimiter & "NEW: '" & input & "'" & Delimiter & Environment.UserName & Delimiter & Now.ToString + End If + + Catch ex As Exception + ClassLogger.Add(">> Fehler in Return_LOGString: " & ex.Message, True) + PM_String = "DD-PM ERROR: " & ex.Message + End Try + Return PM_String + + End Function + + Private Sub frmMassValidator_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + My.Settings.frmMassValidatorSize = Me.Size + My.Settings.frmMassValidatorposition = Me.Location + My.Settings.Save() + End Sub + + Private Sub frmMassValidator_Shown(sender As Object, e As EventArgs) Handles Me.Shown + FORM_Shown = True + End Sub +End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 48f8bc0..1fea49c 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -10,6 +10,7 @@ Imports System.IO Imports DevExpress.Pdf.pdfdo Imports DevExpress.Pdf Imports System.Text.RegularExpressions +Imports System.ComponentModel Public Class frmValidator Dim viewerID @@ -568,13 +569,9 @@ Public Class frmValidator AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp ctrl = txt - - 'add_textbox(dr.Item("GUID"), dr.Item("CTRL_NAME"), CInt(dr.Item("X_LOC")), CInt(dr.Item("Y_LOC")), CInt(dr.Item("WIDTH")), CInt(dr.Item("HEIGHT")), dr.Item("READ_ONLY"), dr.Item("LOAD_IDX_VALUE")) 'dr.Item("INDEX_NAME"), Case "LBL" If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch LBL zu laden", False) ctrl = ClassControlCreator.CreateExistingLabel(dr, False) - - 'add_label(dr.Item("GUID"), dr.Item("CTRL_NAME"), dr.Item("CTRL_TEXT"), CInt(dr.Item("X_LOC")), CInt(dr.Item("Y_LOC"))) Case "CMB" If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch CMB zu laden", False) @@ -2343,7 +2340,7 @@ Public Class frmValidator Dim input As String = "" 'Jedes Control in Konfig Tab durchlaufn For Each dr As DataRow In dt.Rows - If dr.Item("CTRL_TYPE") = "LBL" Then + If dr.Item("CTRL_TYPE") = "LBL" Or dr.Item("CTRL_TYPE") = "LINE" Then Continue For End If 'Den Indexnamen auslesen @@ -3005,4 +3002,8 @@ Public Class frmValidator load_viewer() End Sub + + Private Sub frmValidator_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + + End Sub End Class \ No newline at end of file