From 041916262f2c90d462a4dacd8152b76b4e9a2230 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 24 Apr 2019 16:21:21 +0200 Subject: [PATCH] add lookupgrid2, try to fuck around with that dataset of DOOM --- .../DD_PM_WINDREAM/DesignTimeBuild/.dtbcache | Bin 218 -> 218 bytes app/DD_PM_WINDREAM/ClassControlCreator.vb | 9 +- app/DD_PM_WINDREAM/ClassFinalIndex.vb | 12 +- .../ModuleFinalIndexProperties.vb | 90 +++++++--- .../frmAdministration.Designer.vb | 33 ++-- app/DD_PM_WINDREAM/frmAdministration.resx | 10 +- app/DD_PM_WINDREAM/frmAdministration.vb | 61 ++++--- app/DD_PM_WINDREAM/frmFormDesigner.vb | 6 +- app/DD_PM_WINDREAM/frmValidator.vb | 161 +++++++++--------- 9 files changed, 214 insertions(+), 168 deletions(-) diff --git a/app/.vs/DD_PM_WINDREAM/DesignTimeBuild/.dtbcache b/app/.vs/DD_PM_WINDREAM/DesignTimeBuild/.dtbcache index 715c91bb439b5d68c69962a8f4a3c4d0343f04fc..671ed4a1339e1ed6980c0b51ee8bfb3acd087d30 100644 GIT binary patch delta 51 zcmcb`c#Cm@h-erC1A{Ar6+;Yz7egvT9uTH7cuh2vpBT|3P{2^ckk63Ca7Vr_5QG6f C`wfNw delta 48 zcmcb`c#Cm@h-@4K1A{Ar6+;X|Fhep!215};Dnlki5|Aun@SUhB&+5+L$q+KpwG{vb C=nAp` diff --git a/app/DD_PM_WINDREAM/ClassControlCreator.vb b/app/DD_PM_WINDREAM/ClassControlCreator.vb index f38efed..439a26a 100644 --- a/app/DD_PM_WINDREAM/ClassControlCreator.vb +++ b/app/DD_PM_WINDREAM/ClassControlCreator.vb @@ -161,8 +161,8 @@ Public Class ClassControlCreator Return control End Function - Friend Shared Function CreateNewLookupControl(location As Point) As LookupControl - Dim control As New LookupControl With { + Friend Shared Function CreateNewLookupControl(location As Point) As LookupControl2 + Dim control As New LookupControl2 With { .Name = $"{PREFIX_DATAGRIDVIEW}_{clsTools.ShortGuid}", .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT), .Cursor = Cursors.Hand, @@ -305,8 +305,9 @@ Public Class ClassControlCreator Return control End Function - Public Shared Function CreateExistingLookupControl(row As DataRow, designMode As Boolean) As LookupControl - Dim control As LookupControl = CreateBaseControl(New LookupControl(), row, designMode) + Public Shared Function CreateExistingLookupControl(row As DataRow, designMode As Boolean) As LookupControl2 + Dim control As LookupControl2 = CreateBaseControl(New LookupControl2(), row, designMode) + control.Width = row.Item("WIDTH") If designMode Then control.Cursor = Cursors.Hand diff --git a/app/DD_PM_WINDREAM/ClassFinalIndex.vb b/app/DD_PM_WINDREAM/ClassFinalIndex.vb index 9d6473c..d96ed04 100644 --- a/app/DD_PM_WINDREAM/ClassFinalIndex.vb +++ b/app/DD_PM_WINDREAM/ClassFinalIndex.vb @@ -4,10 +4,14 @@ Public Const INDEX_TYPE_FLOAT = 3 Public Const INDEX_TYPE_BOOLEAN = 4 Public Const INDEX_TYPE_DATE = 5 - Public Const INDEX_TYPE_VECTOR_INTEGER = 4107 + Public Const INDEX_TYPE_VECTOR_INTEGER_64 = 4107 + Public Const INDEX_TYPE_VECTOR_INTEGER = 4098 Public Const INDEX_TYPE_VECTOR_STRING = 4097 Public Const INDEX_TYPE_VECTOR_BOOLEAN = 4100 Public Const INDEX_TYPE_VECTOR_DATE = 4101 + Public Const INDEX_TYPE_VECTOR_CURRENCY = 4104 + Public Const INDEX_TYPE_VECTOR_FLOAT = 4099 + Public Const INDEX_TYPE_VECTOR_DATETIME = 4103 Public Const PREFIX_VECTOR = "[%VKT" @@ -20,7 +24,7 @@ If type = INDEX_TYPE_STRING Or type = INDEX_TYPE_VECTOR_STRING Then value = props.StringValue - ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_VECTOR_INTEGER Then + ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_VECTOR_INTEGER_64 Then value = props.IntegerValue.ToString ElseIf type = INDEX_TYPE_FLOAT Then value = props.FloatValue.ToString @@ -63,7 +67,7 @@ value = NotNull(value, "") props.StringValue = value - ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_VECTOR_INTEGER Then + ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_VECTOR_INTEGER_64 Then value = NotNull(Of Integer)(value, 0) If value = String.Empty Then @@ -97,7 +101,7 @@ End Function Public Shared Function IsVectorIndex(type As Integer) As Boolean - If type = INDEX_TYPE_VECTOR_BOOLEAN Or type = INDEX_TYPE_VECTOR_DATE Or type = INDEX_TYPE_VECTOR_INTEGER Or type = INDEX_TYPE_VECTOR_STRING Then + If type = INDEX_TYPE_VECTOR_BOOLEAN Or type = INDEX_TYPE_VECTOR_DATE Or type = INDEX_TYPE_VECTOR_INTEGER_64 Or type = INDEX_TYPE_VECTOR_STRING Then Return True Else Return False diff --git a/app/DD_PM_WINDREAM/ModuleFinalIndexProperties.vb b/app/DD_PM_WINDREAM/ModuleFinalIndexProperties.vb index 2d7fd7b..8daf89c 100644 --- a/app/DD_PM_WINDREAM/ModuleFinalIndexProperties.vb +++ b/app/DD_PM_WINDREAM/ModuleFinalIndexProperties.vb @@ -58,13 +58,49 @@ Module ModuleFinalIndexProperties <[ReadOnly](True)> Public Property VectorIndex As Boolean + + + Public Property AllowAddNewValues As Boolean + + + Public Property PreventDuplicates As Boolean + ' Eigenschaften für die Liste der Indicies Public Property Indicies As List(Of String) Public Property IndiciesType As List(Of Integer) - Public Sub MaybeSetReadOnly(attrs As PropertyAttributes) + Public Sub VectorIndexBooleanProvider(attrs As PropertyAttributes) + MaybeSetReadOnlyIfNotVectorIndex(attrs) + End Sub + + Public Sub IndexTypeBooleanProvider(attrs As PropertyAttributes) + MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_BOOLEAN, ClassFinalIndex.INDEX_TYPE_VECTOR_BOOLEAN}) + MaybeSetReadOnlyIfSQLHasNoValue(attrs) + End Sub + + Public Sub IndexTypeStringProvider(attrs As PropertyAttributes) + MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_STRING, ClassFinalIndex.INDEX_TYPE_VECTOR_STRING}) + MaybeSetReadOnlyIfSQLHasNoValue(attrs) + End Sub + + Public Sub IndexTypeFloatProvider(attrs As PropertyAttributes) + MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_FLOAT}) + MaybeSetReadOnlyIfSQLHasNoValue(attrs) + End Sub + + Public Sub IndexTypeIntegerProvider(attrs As PropertyAttributes) + MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_INTEGER, ClassFinalIndex.INDEX_TYPE_VECTOR_INTEGER_64}) + MaybeSetReadOnlyIfSQLHasNoValue(attrs) + End Sub + + Public Sub IndexTypeDateProvider(attrs As PropertyAttributes) + MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_DATE, ClassFinalIndex.INDEX_TYPE_VECTOR_DATE}) + MaybeSetReadOnlyIfSQLHasNoValue(attrs) + End Sub + + Public Sub MaybeSetReadOnlyIfSQLHasNoValue(attrs As PropertyAttributes) Dim hasSQLValue As Boolean = (SQLCommand.Value <> String.Empty) If hasSQLValue Then @@ -74,6 +110,35 @@ Module ModuleFinalIndexProperties End If End Sub + Public Sub MaybeSetReadOnlyIfNotVectorIndex(attrs As PropertyAttributes) + ' Get index (position in array) for selected index (windream) + Dim oIndex As Integer = Indicies.IndexOf(IndexName) + If oIndex < 0 Then + attrs.IsReadOnly = True + Exit Sub + End If + + ' get type of windream index + Dim oType As Integer = IndiciesType.Item(oIndex) + Dim oVectoryTypes = { + ClassFinalIndex.INDEX_TYPE_VECTOR_DATE, + ClassFinalIndex.INDEX_TYPE_VECTOR_BOOLEAN, + ClassFinalIndex.INDEX_TYPE_VECTOR_INTEGER_64, + ClassFinalIndex.INDEX_TYPE_VECTOR_INTEGER, + ClassFinalIndex.INDEX_TYPE_VECTOR_STRING, + ClassFinalIndex.INDEX_TYPE_VECTOR_CURRENCY, + ClassFinalIndex.INDEX_TYPE_VECTOR_FLOAT, + ClassFinalIndex.INDEX_TYPE_VECTOR_DATETIME + } + + ' if type of index is not a vector, set attribute to read only + If oVectoryTypes.Contains(oType) Then + attrs.IsReadOnly = False + Else + attrs.IsReadOnly = True + End If + End Sub + Public Sub MaybeSetBrowsable(attrs As PropertyAttributes, indexType As Integer()) Dim i As Integer = Indicies.IndexOf(IndexName) @@ -92,29 +157,6 @@ Module ModuleFinalIndexProperties End If End Sub - Public Sub IndexTypeBooleanProvider(attrs As PropertyAttributes) - MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_BOOLEAN, ClassFinalIndex.INDEX_TYPE_VECTOR_BOOLEAN}) - MaybeSetReadOnly(attrs) - End Sub - Public Sub IndexTypeStringProvider(attrs As PropertyAttributes) - MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_STRING, ClassFinalIndex.INDEX_TYPE_VECTOR_STRING}) - MaybeSetReadOnly(attrs) - End Sub - - Public Sub IndexTypeFloatProvider(attrs As PropertyAttributes) - MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_FLOAT}) - MaybeSetReadOnly(attrs) - End Sub - - Public Sub IndexTypeIntegerProvider(attrs As PropertyAttributes) - MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_INTEGER, ClassFinalIndex.INDEX_TYPE_VECTOR_INTEGER}) - MaybeSetReadOnly(attrs) - End Sub - - Public Sub IndexTypeDateProvider(attrs As PropertyAttributes) - MaybeSetBrowsable(attrs, {ClassFinalIndex.INDEX_TYPE_DATE, ClassFinalIndex.INDEX_TYPE_VECTOR_DATE}) - MaybeSetReadOnly(attrs) - End Sub End Class End Module diff --git a/app/DD_PM_WINDREAM/frmAdministration.Designer.vb b/app/DD_PM_WINDREAM/frmAdministration.Designer.vb index ba2ce4c..45678fc 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.Designer.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.Designer.vb @@ -22,7 +22,6 @@ Partial Class frmAdministration 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. Private Sub InitializeComponent() - Me.components = New System.ComponentModel.Container() Dim GUIDLabel As System.Windows.Forms.Label Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAdministration)) Dim NAMELabel As System.Windows.Forms.Label @@ -52,7 +51,7 @@ Partial Class frmAdministration Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Me.SplitContainer_Profilzuordnung2 = New System.Windows.Forms.SplitContainer() Me.gridAssignedUsers = New DevExpress.XtraGrid.GridControl() - Me.TBPROFILE_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPROFILE_USERBindingSource = New System.Windows.Forms.BindingSource() Me.DD_DMSLiteDataSet = New DD_PM_WINDREAM.DD_DMSLiteDataSet() Me.viewAssignedUsers = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colPRENAME1 = New DevExpress.XtraGrid.Columns.GridColumn() @@ -64,7 +63,7 @@ Partial Class frmAdministration Me.Panel1 = New System.Windows.Forms.Panel() Me.Label20 = New System.Windows.Forms.Label() Me.gridAvailableUsers = New DevExpress.XtraGrid.GridControl() - Me.FNPM_GET_FREE_USER_FOR_PROFILEBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.FNPM_GET_FREE_USER_FOR_PROFILEBindingSource = New System.Windows.Forms.BindingSource() Me.viewAvailableUsers = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colPRENAME = New DevExpress.XtraGrid.Columns.GridColumn() Me.colNAME2 = New DevExpress.XtraGrid.Columns.GridColumn() @@ -76,22 +75,22 @@ Partial Class frmAdministration Me.Label19 = New System.Windows.Forms.Label() Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() Me.gridAssignedGroups = New DevExpress.XtraGrid.GridControl() - Me.TBPROFILE_GROUPBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPROFILE_GROUPBindingSource = New System.Windows.Forms.BindingSource() Me.viewAssignedGroups = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colNAME5 = New DevExpress.XtraGrid.Columns.GridColumn() Me.colCOMMENT1 = New DevExpress.XtraGrid.Columns.GridColumn() Me.Panel3 = New System.Windows.Forms.Panel() Me.Label22 = New System.Windows.Forms.Label() Me.gridAvailableGroups = New DevExpress.XtraGrid.GridControl() - Me.TBDD_GROUPSBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBDD_GROUPSBindingSource = New System.Windows.Forms.BindingSource() Me.viewAvailableGroups = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colNAME4 = New DevExpress.XtraGrid.Columns.GridColumn() Me.colCOMMENT = New DevExpress.XtraGrid.Columns.GridColumn() Me.Panel4 = New System.Windows.Forms.Panel() Me.Label23 = New System.Windows.Forms.Label() - Me.TBDD_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBDD_USERBindingSource = New System.Windows.Forms.BindingSource() Me.TableAdapterManager = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TableAdapterManager() - Me.TBPM_PROFILEBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPM_PROFILEBindingSource = New System.Windows.Forms.BindingSource() Me.TBPM_PROFILETableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_PROFILETableAdapter() Me.BindingNavigatorMoveFirstItem = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorMovePreviousItem = New System.Windows.Forms.ToolStripButton() @@ -103,7 +102,7 @@ Partial Class frmAdministration Me.BindingNavigatorMoveLastItem = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorSeparator2 = New System.Windows.Forms.ToolStripSeparator() Me.VWPM_PROFILE_USERBindingNavigatorSaveItem = New System.Windows.Forms.ToolStripButton() - Me.TBPM_PROFILEBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components) + Me.TBPM_PROFILEBindingNavigator = New System.Windows.Forms.BindingNavigator() Me.tstrpbtn_add = New System.Windows.Forms.ToolStripButton() Me.tstrlblSave = New System.Windows.Forms.ToolStripLabel() Me.btnRefreshProfiles = New System.Windows.Forms.ToolStripButton() @@ -122,7 +121,7 @@ Partial Class frmAdministration Me.GroupBox2 = New System.Windows.Forms.GroupBox() Me.Label1 = New System.Windows.Forms.Label() Me.cmbType = New System.Windows.Forms.ComboBox() - Me.TBPM_TYPEBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPM_TYPEBindingSource = New System.Windows.Forms.BindingSource() Me.GroupBox3 = New System.Windows.Forms.GroupBox() Me.MOVE2FOLDERTextBox = New System.Windows.Forms.TextBox() Me.btnmovetoFolderDialog = New System.Windows.Forms.Button() @@ -158,7 +157,7 @@ Partial Class frmAdministration Me.TabPage11 = New System.Windows.Forms.TabPage() Me.Panel5 = New System.Windows.Forms.Panel() Me.gridFinalIndex = New DevExpress.XtraGrid.GridControl() - Me.TBPM_PROFILE_FINAL_INDEXINGBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPM_PROFILE_FINAL_INDEXINGBindingSource = New System.Windows.Forms.BindingSource() Me.viewFinalIndex = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colGUID = New DevExpress.XtraGrid.Columns.GridColumn() Me.colINDEXNAME = New DevExpress.XtraGrid.Columns.GridColumn() @@ -169,7 +168,7 @@ Partial Class frmAdministration Me.colCHANGED_WHO = New DevExpress.XtraGrid.Columns.GridColumn() Me.colCHANGED_WHEN = New DevExpress.XtraGrid.Columns.GridColumn() Me.PropertyGrid1 = New System.Windows.Forms.PropertyGrid() - Me.BindingNavigator1 = New System.Windows.Forms.BindingNavigator(Me.components) + Me.BindingNavigator1 = New System.Windows.Forms.BindingNavigator() Me.BindingNavigatorAddNewItem = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorCountItem1 = New System.Windows.Forms.ToolStripLabel() Me.BindingNavigatorMoveFirstItem1 = New System.Windows.Forms.ToolStripButton() @@ -206,7 +205,7 @@ Partial Class frmAdministration Me.btnUserManager = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.VEKTOR_DELIMITERTextBox = New System.Windows.Forms.TextBox() - Me.TBPM_KONFIGURATIONBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPM_KONFIGURATIONBindingSource = New System.Windows.Forms.BindingSource() Me.btnConnections = New System.Windows.Forms.Button() Me.btnopen_SQLAdmin = New System.Windows.Forms.Button() Me.EMAIL_ACTIVECheckBox = New System.Windows.Forms.CheckBox() @@ -234,8 +233,8 @@ Partial Class frmAdministration Me.DataGridViewTextBoxColumn23 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn24 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn25 = New System.Windows.Forms.DataGridViewTextBoxColumn() - Me.TBPM_ERROR_LOGBindingSource = New System.Windows.Forms.BindingSource(Me.components) - Me.TBPM_ERROR_LOGBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components) + Me.TBPM_ERROR_LOGBindingSource = New System.Windows.Forms.BindingSource() + Me.TBPM_ERROR_LOGBindingNavigator = New System.Windows.Forms.BindingNavigator() Me.BindingNavigatorCountItem3 = New System.Windows.Forms.ToolStripLabel() Me.BindingNavigatorDeleteItem1 = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorMoveFirstItem3 = New System.Windows.Forms.ToolStripButton() @@ -246,8 +245,8 @@ Partial Class frmAdministration Me.BindingNavigatorMoveNextItem3 = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorMoveLastItem3 = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorSeparator11 = New System.Windows.Forms.ToolStripSeparator() - Me.TBDD_CONNECTIONBindingSource = New System.Windows.Forms.BindingSource(Me.components) - Me.TBPM_PROFILE_CONTROLSBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBDD_CONNECTIONBindingSource = New System.Windows.Forms.BindingSource() + Me.TBPM_PROFILE_CONTROLSBindingSource = New System.Windows.Forms.BindingSource() Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() Me.tstrpinfo = New System.Windows.Forms.ToolStripStatusLabel() Me.TBPROFILE_USERTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPROFILE_USERTableAdapter() @@ -257,7 +256,7 @@ Partial Class frmAdministration Me.TBPM_ERROR_LOGTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_ERROR_LOGTableAdapter() Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_PROFILE_FINAL_INDEXINGTableAdapter() Me.TBPM_PROFILE_CONTROLSTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_PROFILE_CONTROLSTableAdapter() - Me.TBPM_PROFILE_FILESBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.TBPM_PROFILE_FILESBindingSource = New System.Windows.Forms.BindingSource() Me.TBPM_PROFILE_FILESTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_PROFILE_FILESTableAdapter() Me.TBDD_CONNECTIONTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBDD_CONNECTIONTableAdapter() Me.TBDD_GROUPSTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBDD_GROUPSTableAdapter() diff --git a/app/DD_PM_WINDREAM/frmAdministration.resx b/app/DD_PM_WINDREAM/frmAdministration.resx index 6944635..d7cb4b4 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.resx +++ b/app/DD_PM_WINDREAM/frmAdministration.resx @@ -565,7 +565,7 @@ 58 - 901, 267 + 901, 264 3 @@ -688,7 +688,7 @@ 58 - 901, 234 + 901, 233 0 @@ -775,10 +775,10 @@ 1 - 901, 555 + 901, 551 - 292 + 289 1 @@ -3434,7 +3434,7 @@ der Wertänderungen nutzen wollen: 3, 3, 3, 3 - 907, 561 + 907, 557 1 diff --git a/app/DD_PM_WINDREAM/frmAdministration.vb b/app/DD_PM_WINDREAM/frmAdministration.vb index 0230e40..c561431 100644 --- a/app/DD_PM_WINDREAM/frmAdministration.vb +++ b/app/DD_PM_WINDREAM/frmAdministration.vb @@ -6,6 +6,7 @@ Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Views.Grid Public Class frmAdministration + 'Private _windreamPM As ClassPMWindream Private email As New ClassEmail Public profile_guid As Integer = 0 @@ -54,7 +55,7 @@ Public Class frmAdministration tabctrl_Profilkonfig.SelectedIndex = 0 Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Laden der Wertehilfen und Konfig-Daten: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") End Try @@ -64,7 +65,7 @@ LOGGER.Error(ex) 'Windream initialisieren (Connection, Session, ... aufbauen) '_windreamPM.Create_Session() Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") End Try ObjekttypenEintragen() @@ -81,7 +82,7 @@ LOGGER.Error(ex) Next End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Indexe_eintragen: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") End Try End Sub @@ -122,7 +123,7 @@ LOGGER.Error(ex) cmbLOGIndex.SelectedIndex = -1 End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Indexe_eintragen: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") PM_VEKTOR_INDEXComboBox.SelectedIndex = -1 cmbLOGIndex.SelectedIndex = -1 @@ -149,7 +150,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Refresh_Profildaten: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") End Try @@ -163,7 +164,7 @@ LOGGER.Error(ex) Me.cmbObjekttypen.Items.Add(aType.aName) Next Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Es konnte keine Verbindung zum windream-Server hergestellt werden.", MsgBoxStyle.Critical, "Fehler beim Zugriff auf windream-Server") End Try @@ -190,7 +191,7 @@ LOGGER.Error(ex) p.Close() End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei öffnen der windream-Suche:") End Try End Sub @@ -205,7 +206,7 @@ LOGGER.Error(ex) tstrlblSave.Visible = False End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Speichern des Profils:") End Try @@ -275,7 +276,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Laden der User zu Profil:") End Try End Sub @@ -304,7 +305,7 @@ LOGGER.Error(ex) FillProfile_User(profileId) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox($"Error while calling FillProfile_User", MsgBoxStyle.Critical) End Try End If @@ -318,7 +319,7 @@ LOGGER.Error(ex) TBPROFILE_USERTableAdapter.CMDInsert(profileId, userId, Environment.UserName) FillProfile_User(profileId) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Hinzufügen eines Users:") End Try End Sub @@ -332,7 +333,7 @@ LOGGER.Error(ex) TBPROFILE_USERTableAdapter.CmdDelete(profileId, userId) FillProfile_User(profileId) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Entfernen eines Users:") End Try End Sub @@ -348,7 +349,7 @@ LOGGER.Error(ex) ' TBPROFILE_USERTableAdapter.CMDInsert(profileId, userId, Environment.UserName) FillProfile_User(profileId) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Hinzufügen einer Gruppe:") End Try End Sub @@ -364,7 +365,7 @@ LOGGER.Error(ex) 'TBPROFILE_USERTableAdapter.cmdDelete(userId) FillProfile_User(profileId) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Entfernen einer Gruppe:") End Try End Sub @@ -443,7 +444,7 @@ LOGGER.Error(ex) TBPM_ERROR_LOGTableAdapter.CmdDelete() Refresh_log() Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Delete Log:") End Try End Sub @@ -451,7 +452,7 @@ LOGGER.Error(ex) Try Me.TBPM_ERROR_LOGTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_ERROR_LOG) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Refresh Error:") End Try End Sub @@ -641,7 +642,7 @@ LOGGER.Error(ex) Refresh_Profildaten() End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Anlage Profilkopie:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler:") End Try @@ -657,7 +658,7 @@ LOGGER.Error(ex) SQLconnection.Close() Return True Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler in Execute_SQL: " & vbNewLine & ex.Message & vbNewLine & vbNewLine & " SQL: " & SQL) Return False End Try @@ -680,7 +681,7 @@ LOGGER.Error(ex) MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich gelöscht!", MsgBoxStyle.Information, "Erfolgsmeldung") Refresh_Profildaten() Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei Löschen des Profils:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler:") End Try @@ -745,7 +746,7 @@ LOGGER.Error(ex) Try Me.TBDD_USERTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_USER) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler bei LoadUsers: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler:") End Try End Sub @@ -923,7 +924,7 @@ LOGGER.Error(ex) Process.Start(USER_MANAGER_PATH) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Error while startign User Manager:" & vbCrLf & ex.Message, MsgBoxStyle.Critical) End Try End Sub @@ -956,6 +957,8 @@ LOGGER.Error(ex) Dim value As String = NotNull(focusedRow.Item("VALUE"), "") Dim active As Boolean = NotNull(focusedRow.Item("ACTIVE"), True) Dim description As String = NotNull(focusedRow.Item("DESCRIPTION"), "") + Dim preventDuplicates As Boolean = NotNull(focusedRow.Item("PREVENT_DUPLICATES"), False) + Dim allowNewValues As Boolean = NotNull(focusedRow.Item("ALLOW_NEW_VALUES"), False) CURRENT_INDEX_ID = guid CURRENT_SQL_CON = connectionId @@ -967,8 +970,8 @@ LOGGER.Error(ex) obj.ConnectionId = connectionId obj.Description = description obj.Active = active - - + obj.AllowAddNewValues = allowNewValues + obj.PreventDuplicates = preventDuplicates ' Wenn eine neue Zeile hinzugefügt wird, auf StringValue setzen If e.FocusedRowHandle <> GridControl.NewItemRowHandle Then @@ -1013,7 +1016,7 @@ LOGGER.Error(ex) PropertyGrid1.SelectedObject = obj PropertyGrid1.Refresh() Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox($"Error while loading Final Index properties: {ex.Message}") LOGGER.Info($"Error while loading Final Index properties: {ex.Message}") End Try @@ -1050,6 +1053,8 @@ LOGGER.Error(ex) Dim addedWho As String = Environment.UserName Dim description As String = obj.Description Dim active As Integer = IIf(obj.Active, 1, 0) + Dim preventDuplicates As Integer = IIf(obj.PreventDuplicates, 1, 0) + Dim AllowAddNewValues As Integer = IIf(obj.AllowAddNewValues, 1, 0) If indexName = String.Empty Then MsgBox("Das Feld IndexName muss ausgefüllt sein!", MsgBoxStyle.Exclamation) @@ -1068,8 +1073,8 @@ LOGGER.Error(ex) End If If INSERT_ACTIVE = True Then - Dim sql As String = $"INSERT INTO TBPM_PROFILE_FINAL_INDEXING (PROFIL_ID, CONNECTION_ID, SQL_COMMAND, INDEXNAME, VALUE, ACTIVE, ADDED_WHO) - VALUES ({profileId}, {connectionId}, '{sqlCommand}', '{indexName}', '{value}', {active}, '{addedWho}')" + Dim sql As String = $"INSERT INTO TBPM_PROFILE_FINAL_INDEXING (PROFIL_ID, CONNECTION_ID, SQL_COMMAND, INDEXNAME, VALUE, ACTIVE, PREVENT_DUPLICATES, ALLOW_NEW_VALUES, ADDED_WHO) + VALUES ({profileId}, {connectionId}, '{sqlCommand}', '{indexName}', '{value}', {active}, {preventDuplicates}, {AllowAddNewValues}, '{addedWho}')" If ClassDatabase.Execute_non_Query(sql, True) Then INSERT_ACTIVE = False @@ -1077,7 +1082,7 @@ LOGGER.Error(ex) Else Dim sql As String = $"UPDATE TBPM_PROFILE_FINAL_INDEXING SET CONNECTION_ID = {connectionId}, SQL_COMMAND = '{sqlCommand}', INDEXNAME = '{indexName}', CHANGED_WHO = '{addedWho}', - VALUE = '{value}', ACTIVE = {active} + VALUE = '{value}', ACTIVE = {active}, ALLOW_NEW_VALUES = {AllowAddNewValues}, PREVENT_DUPLICATES = {preventDuplicates} WHERE GUID = {guid}" If ClassDatabase.Execute_non_Query(sql, True) Then @@ -1088,7 +1093,7 @@ LOGGER.Error(ex) Refresh_Final_indexe() End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Error while Saving Final Index: " & ex.Message, MsgBoxStyle.Critical) LOGGER.Info("Error while Saving Final Index: " & ex.Message) Finally diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb index 95731c5..0033880 100644 --- a/app/DD_PM_WINDREAM/frmFormDesigner.vb +++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb @@ -307,7 +307,7 @@ Public Class frmFormDesigner pnldesigner.Controls.Add(chk) Case ClassControlCreator.PREFIX_DATAGRIDVIEW - Dim lc As LookupControl = ClassControlCreator.CreateNewLookupControl(cursorPosition) + Dim lc As LookupControl2 = ClassControlCreator.CreateNewLookupControl(cursorPosition) SetMovementHandlers(lc) @@ -752,8 +752,8 @@ Public Class frmFormDesigner props = gridProps - ElseIf TypeOf sender Is LookupControl Then - Dim grid As LookupControl = sender + ElseIf TypeOf sender Is LookupControl2 Then + Dim grid As LookupControl2 = sender Dim lookupProps As LookupControlProperties = CreatePropsObjectWithIndicies(New LookupControlProperties, row, Windream_VectorIndicies) lookupProps.MultiSelect = StrToBool(row.Item("MULTISELECT")) lookupProps.PreventDuplicates = StrToBool(row.Item("VKT_PREVENT_MULTIPLE_VALUES")) diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 91bb25e..1b81b7e 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -493,7 +493,7 @@ LOGGER.Error(ex) control.Text = value oValue = value Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) clsLogger.Add("Error in LoadSimpleData for TextBox: " & ex.Message) End Try ElseIf TypeOf control Is ComboBox Then @@ -507,30 +507,30 @@ LOGGER.Error(ex) comboxBox.DataSource = list Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) clsLogger.Add("Error in LoadSimpleData for Combobox: " & ex.Message) End Try - ElseIf TypeOf control Is LookupControl Then + ElseIf TypeOf control Is LookupControl2 Then Try - Dim lookup As LookupControl = control + Dim lookup As LookupControl2 = control lookup.DataSource = dt Catch ex As Exception -LOGGER.Error(ex) - clsLogger.Add("Error in LoadSimpleData for Lookupcontrol: " & ex.Message) + LOGGER.Error(ex) + clsLogger.Add("Error in LoadSimpleData for LookupControl2: " & ex.Message) End Try ElseIf TypeOf control Is DataGridView Then Try Dim dataGridView As DataGridView = control dataGridView.DataSource = dt Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) clsLogger.Add("Error in LoadSimpleData for DataGridView: " & ex.Message) End Try End If Next Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Error in LoadSimpleData: " & ex.Message, MsgBoxStyle.Critical) clsLogger.Add("Error in LoadSimpleData: " & ex.Message) End Try @@ -650,7 +650,7 @@ LOGGER.Error(ex) sqlCnn.Close() End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(" - Unvorhergesehener Fehler bei GetValues SQL - Fehler: " & vbNewLine & ex.Message) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei GetValues SQL:") End Try @@ -713,7 +713,7 @@ LOGGER.Error(ex) Case "LOOKUP" LOGGER.Debug(" >> Versuch LOOKUP zu laden", False) - Dim lookup As LookupControl = ClassControlCreator.CreateExistingLookupControl(oControlRow, False) + Dim lookup As LookupControl2 = ClassControlCreator.CreateExistingLookupControl(oControlRow, False) lookup.PreventDuplicates = oControlRow.Item("VKT_PREVENT_MULTIPLE_VALUES") lookup.AllowAddNewValues = oControlRow.Item("VKT_ADD_ITEM") @@ -761,7 +761,7 @@ LOGGER.Error(ex) LOGGER.Info("", False) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) If LOG_ERRORS_ONLY = False Then MsgBox("Error Load_Controls: " & ex.Message, MsgBoxStyle.Critical, "Attention error:") allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Error Load_Controls: " & ex.Message, Environment.UserName) LOGGER.Info("Unvorhergesehener Fehler bei Load_Controls:" & ex.Message) @@ -915,7 +915,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Display SQL result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message) End Try @@ -924,7 +924,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Eventhandler Variable SQL Result - ERROR: " & ex.Message) End Try @@ -993,13 +993,13 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Display SQL result (Combobox) for control: (" & _Step.ToString & ")" & ROW.Item(0).ToString & " - ERROR: " & ex.Message) End Try Next End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Eventhandler Variable SQL Result ComboBox - ERROR: " & ex.Message) End Try @@ -1045,7 +1045,7 @@ LOGGER.Error(ex) End If End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Depending_Control_Set_Result - ERROR: " & ex.Message) MsgBox("Unexpected error: " & ex.Message, MsgBoxStyle.Critical) End Try @@ -1086,7 +1086,7 @@ LOGGER.Error(ex) End If Next Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unvorhergesehener Fehler bei CheckValueExists:" & ex.Message) Return False End Try @@ -1101,7 +1101,7 @@ LOGGER.Error(ex) Proc.StartInfo = psi Proc.Start() Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler in ShowFile_UniversalViewer:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try @@ -1134,7 +1134,7 @@ LOGGER.Error(ex) Thread.Sleep(500) Loop Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Open_PDFXCHANGE:") LOGGER.Info("Fehler in Open_PDFXCHANGE") LOGGER.Info(ex.Message) @@ -1150,7 +1150,7 @@ LOGGER.Error(ex) Proc.StartInfo = psi Proc.Start() Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Open_Sumatra:") LOGGER.Info("Fehler in Open_Sumatra") LOGGER.Info(ex.Message) @@ -1246,7 +1246,7 @@ LOGGER.Error(ex) Return newGUID Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) errmessage = "Unvorhergesehener Fehler in Get_Next_GUID: " & ex.Message LOGGER.Info(">> Unvorhergesehener Fehler in Get_Next_GUID:: " & ex.Message, True) Return 0 @@ -1367,7 +1367,7 @@ LOGGER.Error(ex) Try aktivesDokument = WINDREAM.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, WINDREAM.NormalizePath(Windream_Document_Path)) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Fehler bei Erzeugen windream-Objekt - DocGUID: " & CURRENT_DOC_GUID & " - ERROR: " & ex.Message, Environment.UserName) LOGGER.Info("Fehler bei Erzeugen windream-Objekt in (LoadNextDokument): " & ex.Message) LOGGER.Info("Error Number: " & Err.Number.ToString) @@ -1464,7 +1464,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) allgFunk.Insert_LogEntry(CURRENT_ProfilGUID, "Unvorhergesehener Fehler bei Load_Next_Document - DocGUID: " & CURRENT_DOC_GUID & " - ERROR: " & ex.Message, Environment.UserName) errormessage = "Unvorhergesehener Fehler bei Load_Next_Document:" & ex.Message My.Settings.Save() @@ -1583,7 +1583,7 @@ LOGGER.Error(ex) Me.grpbxMailBody.Visible = True Me.grpBetreff.Visible = True Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) errormessage = "Unvorhergesehener Fehler bei Show_Email:" & ex.Message LOGGER.Info("Unvorhergesehener Fehler in Show_Email: " & ex.Message) My.Settings.Save() @@ -1609,7 +1609,7 @@ LOGGER.Error(ex) Try CURRENT_DOC_CREATION_DATE = aktivesDokument.GetVariableValue(INDEX_DMS_ERSTELLT) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) If ex.Message.Contains("Variable: " & INDEX_DMS_ERSTELLT & " not found!") Then LOGGER.Info("1. Ausnahme in Windream_get_Doc_info: Variable: " & INDEX_DMS_ERSTELLT & " not found", True) LOGGER.Info("1. Ausnahme-Fehler: " & ex.Message, False) @@ -1644,7 +1644,7 @@ LOGGER.Error(ex) Try CURRENT_DOC_CREATION_TIME = aktivesDokument.GetVariableValue(INDEX_DMS_ERSTELLT_ZEIT) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) If ex.Message.Contains("Variable: " & INDEX_DMS_ERSTELLT_ZEIT & " not found!") Then LOGGER.Info("1. Ausnahme in Windream_get_Doc_info: Variable: " & INDEX_DMS_ERSTELLT_ZEIT & " not found", True) If INDEX_DMS_ERSTELLT = "DMS Created" Then @@ -1686,7 +1686,7 @@ LOGGER.Error(ex) Return "" Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Fehler in Windream_get_Doc_info (GENERELL): " & ex.Message) Return "Fehler in Windream_get_Doc_info (GENERELL): " & ex.Message End Try @@ -1864,7 +1864,7 @@ LOGGER.Error(ex) If value Is Nothing Then value = "" Return value Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) MsgBox("Fehler in ReturnVektor_IndexValue: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) LOGGER.Info("Fehler in ReturnVektor_IndexValue: " & ex.Message) Return "" @@ -1942,7 +1942,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) errormessage = "Unvorhergesehener Fehler bei FillIndexValues TextBox:" & vbNewLine & ex.Message & vbNewLine & "Check Logfile" My.Settings.Save() frmError.ShowDialog() @@ -2007,7 +2007,7 @@ LOGGER.Error(ex) End If End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(">> Unvorhergesehener Fehler bei FillIndexValues(Combobox: " & cmb.Name & "): " & ex.Message, True) LOGGER.Info(">> Controltype: " & oControlType, False) LOGGER.Info(">> Indexname windream: " & oIndexName, False) @@ -2260,7 +2260,7 @@ LOGGER.Error(ex) chk.Checked = False End Select Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(">> Unvorhergesehener Fehler bei CBool(wertWD) - CheckBox: " & ex.Message & vbNewLine & "Wert WD: " & wertWD.ToString, True) chk.Checked = False End Try @@ -2268,9 +2268,9 @@ LOGGER.Error(ex) End If End If - Case "DigitalData.Controls.LookupGrid.LookupControl" + Case "DigitalData.Controls.LookupGrid.LookupControl2" Try - Dim oLookup As LookupControl = oControl + Dim oLookup As LookupControl2 = oControl Dim oWindreamValue = aktivesDokument.GetVariableValue(oWMIndexName) If IsNothing(oWindreamValue) Then @@ -2287,9 +2287,9 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(" - Unvorhergesehener Unexpected error in AddVorschlag_ComboBox - Indexname: " & oIndexName & " - Fehler: " & vbNewLine & ex.Message) - MsgBox(ex.Message, MsgBoxStyle.Critical, "Unvorhergesehener Unexpected error in Add LookupControl:") + MsgBox(ex.Message, MsgBoxStyle.Critical, "Unvorhergesehener Unexpected error in Add LookupControl2:") End Try Case "System.Windows.Forms.DateTimePicker" @@ -2317,7 +2317,7 @@ LOGGER.Error(ex) tempdate = CDate(wertWD) LOGGER.Debug(" >> DATE konnte umgewandelt werden", False) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) ValueDTP = tempdate LOGGER.Debug(" >> DATE wurde auf heute gesetzt", False) End Try @@ -2331,7 +2331,7 @@ LOGGER.Error(ex) Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) errormessage = "Unvorhergesehener Fehler bei DTP: " & vbNewLine & ex.Message LOGGER.Info(">> Unvorhergesehener Fehler bei FillIndex DTP: " & ex.Message & vbNewLine & "Wert WD: " & wertWD.ToString & vbNewLine & "Indexname: " & oWMIndexName, True) @@ -2358,7 +2358,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) errormessage = "Unvorhergesehener Fehler bei FillIndexValues:" & vbNewLine & ex.Message & vbNewLine & "Check Logfile" My.Settings.Save() frmError.ShowDialog() @@ -2395,7 +2395,7 @@ LOGGER.Error(ex) End If End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(" ### FEHLER in CloseDocView") LOGGER.Info("### " & ex.Message & " ###") End Try @@ -2458,7 +2458,7 @@ LOGGER.Error(ex) 'If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME")) 'Hier muss nun separat als Vektorfeld indexiert werden - If Indexiere_VektorfeldPM(value, dr.Item("INDEXNAME")) = False Then + If Indexiere_VektorfeldPM(value, dr.Item("INDEXNAME"), dr.Item("PREVENT_DUPLICATES"), dr.Item("ALLOW_NEW_VALUES")) = False Then LOGGER.Debug(" >> FINALER INDEX '" & dr.Item("INDEXNAME").ToString & "' WURDE ERFOLGREICH GESETZT", False) Else errormessage = "Fehler beim finalen Indexieren:" & vbNewLine & idxerr_message @@ -2507,7 +2507,7 @@ LOGGER.Error(ex) WORK_HISTORY_ENTRY = Nothing End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) WORK_HISTORY_ENTRY = Nothing End Try @@ -2539,7 +2539,7 @@ LOGGER.Error(ex) Try value_from_control = inctrl.Text Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) value_from_control = String.Empty End Try @@ -2548,7 +2548,7 @@ LOGGER.Error(ex) Try value_from_control = cmb.Text Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) value_from_control = String.Empty End Try Case "System.Windows.Forms.DateTimePicker" @@ -2556,7 +2556,7 @@ LOGGER.Error(ex) Try value_from_control = dtp.Value.ToString Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) value_from_control = String.Empty End Try @@ -2565,7 +2565,7 @@ LOGGER.Error(ex) Try value_from_control = chk.Checked Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) value_from_control = String.Empty End Try End Select @@ -2576,7 +2576,7 @@ LOGGER.Error(ex) WORK_HISTORY_ENTRY = WORK_HISTORY_ENTRY.ToString.Replace(element.Value, value_from_control) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info("Unexpected Error in Checking control values for WORK_HISTORY_ENTRY - ERROR: " & ex.Message) End Try Next @@ -2655,7 +2655,7 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) errormessage = "Unvorhergesehener Fehler bei Abschluss:" & ex.Message My.Settings.Save() frmError.ShowDialog() @@ -2684,7 +2684,7 @@ LOGGER.Error(ex) 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 -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(">> Fehler in Return_PM_VEKTOR: " & ex.Message, True) PM_String = "DD-PM ERROR: " & ex.Message End Try @@ -2701,54 +2701,49 @@ LOGGER.Error(ex) End If Catch ex As Exception -LOGGER.Error(ex) + LOGGER.Error(ex) LOGGER.Info(">> Fehler in Return_LOGString: " & ex.Message, True) PM_String = "DD-PM ERROR: " & ex.Message End Try Return PM_String End Function - Private Function Indexiere_VektorfeldPM(input As String, NameVKTIndex As String) - - Dim missing As Boolean = False - Dim Anzahl As Integer = 0 - Dim myInputArr As String() - 'Jeden Wert des Vektorfeldes durchlaufen - Dim wertWD = aktivesDokument.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 + Private Function Indexiere_VektorfeldPM(input As String, NameVKTIndex As String, Optional PreventDuplicates As Boolean = False, Optional AllowAddNewValues As Boolean = True) + Dim oOldValue As Object = aktivesDokument.GetVariableValue(NameVKTIndex) + Dim oValueList As New List(Of Object) + Dim oNewValue As Object() + Dim oMissing As Boolean = False + + If oOldValue IsNot Nothing AndAlso TypeOf oOldValue Is Object Then + ' If new values are allowed, add the old values first + If AllowAddNewValues Then + oValueList = DirectCast(oOldValue, Object()).ToList() End If - 'Das Array anpassen - ReDim Preserve myInputArr(Anzahl) - 'und den letzten Wert übergeben - myInputArr(Anzahl) = input + + ' Add the new value + oValueList.Add(input) Else - 'Das Array anpassen - ReDim Preserve myInputArr(Anzahl) - 'und den letzten Wert übergeben - myInputArr(Anzahl) = input + ' Just add input as the only value + oValueList.Add(input) + End If + + If PreventDuplicates Then + oValueList = oValueList. + Distinct(). + ToList() End If - If myInputArr.Length > 0 Then + oNewValue = oValueList.ToArray() + + If oNewValue.Length > 0 Then 'Jetzt die Datei indexieren - If Indexiere_File(aktivesDokument, NameVKTIndex, myInputArr) = False Then - missing = True + If Indexiere_File(aktivesDokument, NameVKTIndex, oNewValue) = False Then + oMissing = True errmessage = "Fehler beim Indexieren Vektorfeld '" & NameVKTIndex & "' - ERROR: " & idxerr_message End If End If - Return missing + Return oMissing End Function Function Check_UpdateIndexe() Try @@ -2780,9 +2775,9 @@ LOGGER.Error(ex) End If Dim Type As String = inctrl.GetType.ToString Select Case Type - Case "DigitalData.Controls.LookupGrid.LookupControl" + Case "DigitalData.Controls.LookupGrid.LookupControl2" Try - Dim lookup As LookupControl = inctrl + Dim lookup As LookupControl2 = inctrl If lookup.SelectedValues.Count = 0 And _MUSSEINGABE = True Then missing = True