From fef9c99feb809368b41727e8129e12057b92bbdb Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Wed, 11 Nov 2020 17:43:52 +0100 Subject: [PATCH] MS DateEdit --- GUIs.ZooFlow/ClassControlCreator.vb | 3 +- GUIs.ZooFlow/frmFlowForm.resx | 2 +- GUIs.ZooFlow/frmFlowForm.vb | 7 + GUIs.ZooFlow/frmSearchStart.Designer.vb | 46 ++---- GUIs.ZooFlow/frmSearchStart.resx | 3 - GUIs.ZooFlow/frmSearchStart.vb | 147 +++++++++++++----- Modules.Config/ConfigAttributes.vb | 4 +- Modules.Config/ConfigManager.vb | 1 + Modules.Config/ConfigSample.vb | 2 + Modules.Config/My Project/AssemblyInfo.vb | 4 +- .../SyncUsers.MSSQL.vb | 5 +- 11 files changed, 143 insertions(+), 81 deletions(-) diff --git a/GUIs.ZooFlow/ClassControlCreator.vb b/GUIs.ZooFlow/ClassControlCreator.vb index efd5b9aa..698da317 100644 --- a/GUIs.ZooFlow/ClassControlCreator.vb +++ b/GUIs.ZooFlow/ClassControlCreator.vb @@ -203,8 +203,9 @@ Public Class ClassControlCreator oView.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect oView.OptionsSelection.CheckBoxSelectorColumnWidth = 20 oMyNewGridControl.Size = New Size(CInt(pAttributeRow.Item("WIDTH") + 50), CInt(pAttributeRow.Item("HEIGHT"))) - End If + End If + 'oView.Columns("TERM_ID").Visible = False ' Add and configure navigator to delete rows oMyNewGridControl.UseEmbeddedNavigator = True With oMyNewGridControl.EmbeddedNavigator.Buttons diff --git a/GUIs.ZooFlow/frmFlowForm.resx b/GUIs.ZooFlow/frmFlowForm.resx index 2f8cda50..aa42ca0e 100644 --- a/GUIs.ZooFlow/frmFlowForm.resx +++ b/GUIs.ZooFlow/frmFlowForm.resx @@ -2041,6 +2041,6 @@ - 863, 17 + 17, 56 \ No newline at end of file diff --git a/GUIs.ZooFlow/frmFlowForm.vb b/GUIs.ZooFlow/frmFlowForm.vb index 07ad53d7..3f9160db 100644 --- a/GUIs.ZooFlow/frmFlowForm.vb +++ b/GUIs.ZooFlow/frmFlowForm.vb @@ -255,4 +255,11 @@ Public Class frmFlowForm FormLoaded_Visible("frmSearchStart") If Me.Visible = False Then Exit Sub End Sub + + Private Sub NotifyIcon_DoubleClick(sender As Object, e As EventArgs) Handles NotifyIcon.DoubleClick + If Me.Visible = False Then + Me.Visible = True + TimerCheckActiveForms.Enabled = False + End If + End Sub End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/frmSearchStart.Designer.vb b/GUIs.ZooFlow/frmSearchStart.Designer.vb index 8e225e47..2fa42d67 100644 --- a/GUIs.ZooFlow/frmSearchStart.Designer.vb +++ b/GUIs.ZooFlow/frmSearchStart.Designer.vb @@ -74,9 +74,6 @@ Partial Class frmSearchStart Me.KlammerEntfernenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.GridViewSearchTerms = New DevExpress.XtraGrid.Views.Grid.GridView() Me.SplitContainerControlSearch = New DevExpress.XtraEditors.SplitContainerControl() - Me.ContextMenuStripMultiselect = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.MehrfachauswahlAktivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.MehrfachauswahlInaktivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemRadioGroup1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -95,7 +92,6 @@ Partial Class frmSearchStart CType(Me.GridViewSearchTerms, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControlSearch, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControlSearch.SuspendLayout() - Me.ContextMenuStripMultiselect.SuspendLayout() Me.SuspendLayout() ' 'SplashScreenManager @@ -352,55 +348,55 @@ Partial Class frmSearchStart 'XtraTabPage2 ' Me.XtraTabPage2.Name = "XtraTabPage2" - Me.XtraTabPage2.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage2.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage2.Text = "Search#2" ' 'XtraTabPage3 ' Me.XtraTabPage3.Name = "XtraTabPage3" - Me.XtraTabPage3.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage3.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage3.Text = "Search#3" ' 'XtraTabPage4 ' Me.XtraTabPage4.Name = "XtraTabPage4" - Me.XtraTabPage4.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage4.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage4.Text = "Search#4" ' 'XtraTabPage5 ' Me.XtraTabPage5.Name = "XtraTabPage5" - Me.XtraTabPage5.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage5.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage5.Text = "Search#5" ' 'XtraTabPage6 ' Me.XtraTabPage6.Name = "XtraTabPage6" - Me.XtraTabPage6.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage6.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage6.Text = "Search#6" ' 'XtraTabPage7 ' Me.XtraTabPage7.Name = "XtraTabPage7" - Me.XtraTabPage7.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage7.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage7.Text = "Search#7" ' 'XtraTabPage8 ' Me.XtraTabPage8.Name = "XtraTabPage8" - Me.XtraTabPage8.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage8.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage8.Text = "Search#8" ' 'XtraTabPage9 ' Me.XtraTabPage9.Name = "XtraTabPage9" - Me.XtraTabPage9.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage9.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage9.Text = "Search#9" ' 'XtraTabPage10 ' Me.XtraTabPage10.Name = "XtraTabPage10" - Me.XtraTabPage10.Size = New System.Drawing.Size(748, 287) + Me.XtraTabPage10.Size = New System.Drawing.Size(748, 340) Me.XtraTabPage10.Text = "Search#10" ' 'GridControlSerchTerms @@ -474,26 +470,6 @@ Partial Class frmSearchStart Me.SplitContainerControlSearch.SplitterPosition = 310 Me.SplitContainerControlSearch.TabIndex = 16 ' - 'ContextMenuStripMultiselect - ' - Me.ContextMenuStripMultiselect.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MehrfachauswahlAktivierenToolStripMenuItem, Me.MehrfachauswahlInaktivierenToolStripMenuItem}) - Me.ContextMenuStripMultiselect.Name = "ContextMenuStrip1" - Me.ContextMenuStripMultiselect.Size = New System.Drawing.Size(233, 48) - ' - 'MehrfachauswahlAktivierenToolStripMenuItem - ' - Me.MehrfachauswahlAktivierenToolStripMenuItem.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.Checked_outforEdit_13297 - Me.MehrfachauswahlAktivierenToolStripMenuItem.Name = "MehrfachauswahlAktivierenToolStripMenuItem" - Me.MehrfachauswahlAktivierenToolStripMenuItem.Size = New System.Drawing.Size(232, 22) - Me.MehrfachauswahlAktivierenToolStripMenuItem.Text = "Mehrfachauswahl aktivieren" - ' - 'MehrfachauswahlInaktivierenToolStripMenuItem - ' - Me.MehrfachauswahlInaktivierenToolStripMenuItem.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.Checked_outforEdit_Color_13297 - Me.MehrfachauswahlInaktivierenToolStripMenuItem.Name = "MehrfachauswahlInaktivierenToolStripMenuItem" - Me.MehrfachauswahlInaktivierenToolStripMenuItem.Size = New System.Drawing.Size(232, 22) - Me.MehrfachauswahlInaktivierenToolStripMenuItem.Text = "Mehrfachauswahl inaktivieren" - ' 'frmSearchStart ' Me.AllowFormGlass = DevExpress.Utils.DefaultBoolean.[True] @@ -532,7 +508,6 @@ Partial Class frmSearchStart CType(Me.GridViewSearchTerms, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControlSearch, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerControlSearch.ResumeLayout(False) - Me.ContextMenuStripMultiselect.ResumeLayout(False) Me.ResumeLayout(False) Me.PerformLayout @@ -569,10 +544,7 @@ End Sub Friend WithEvents BarEditItem2 As DevExpress.XtraBars.BarEditItem Friend WithEvents RepositoryItemComboBox1 As DevExpress.XtraEditors.Repository.RepositoryItemComboBox Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup - Friend WithEvents ContextMenuStripMultiselect As ContextMenuStrip - Friend WithEvents MehrfachauswahlAktivierenToolStripMenuItem As ToolStripMenuItem Friend WithEvents BarStaticItemInfo As DevExpress.XtraBars.BarStaticItem - Friend WithEvents MehrfachauswahlInaktivierenToolStripMenuItem As ToolStripMenuItem Friend WithEvents ContextMenuStripSearchTerms As ContextMenuStrip Friend WithEvents tsmOperator As ToolStripMenuItem Friend WithEvents BracketLeftToolStripMenuItem As ToolStripMenuItem diff --git a/GUIs.ZooFlow/frmSearchStart.resx b/GUIs.ZooFlow/frmSearchStart.resx index 4cc7d351..9b9adcf1 100644 --- a/GUIs.ZooFlow/frmSearchStart.resx +++ b/GUIs.ZooFlow/frmSearchStart.resx @@ -212,9 +212,6 @@ 189, 17 - - 409, 17 - 174 diff --git a/GUIs.ZooFlow/frmSearchStart.vb b/GUIs.ZooFlow/frmSearchStart.vb index bcaa2613..dd84a18b 100644 --- a/GUIs.ZooFlow/frmSearchStart.vb +++ b/GUIs.ZooFlow/frmSearchStart.vb @@ -26,6 +26,9 @@ Public Class frmSearchStart Private oDTAttributes As DataTable Private SEARCH_COUNT As Integer = 0 Private _Environment As Environment + Private ChangedDateControls As List(Of String) + + Public Sub New(ByVal pDTSearchProfiles As DataTable, Optional ByVal pRunSearch As Boolean = False) ' Dieser Aufruf ist für den Designer erforderlich. @@ -257,7 +260,7 @@ Public Class frmSearchStart If oAttriTYPE = "VARCHAR" Or oAttriTYPE = "BIG INTEGER" Then oMyControl = oControls.CreateExistingGridControl(oAttributeRow, oXPosition, oYPositionControl) Dim myDGV As GridControl = CType(oMyControl, GridControl) - myDGV.ContextMenuStrip = ContextMenuStripMultiselect + Dim omyDTSource As DataTable = CType(myDGV.DataSource, DataTable) If Not IsNothing(omyDTSource) Then If omyDTSource.Rows.Count = 1 Then @@ -281,7 +284,7 @@ Public Class frmSearchStart oMyControl = oControls.CreateExistingDatepicker(oAttributeRow, oXPosition, oYPositionControl) Dim myDTP As DateEdit = CType(oMyControl, DateEdit) AddHandler myDTP.DisableCalendarDate, AddressOf DisableCalendarDate - AddHandler myDTP.EditValueChanged, AddressOf CalendarChanged + AddHandler myDTP.DateTimeChanged, AddressOf CalendarChanged 'CalendarChanged ElseIf oAttriTYPE = "BIT" Then oMyControl = oControls.CreateExistingCheckbox(oAttributeRow, oXPosition, oYPositionControl) Dim myCheckBox As CheckBox = CType(oMyControl, CheckBox) @@ -337,6 +340,12 @@ Public Class frmSearchStart Private Sub ClearSearchCriteria() Dim oSQL = $"DELETE FROM TBIDB_USER_SEARCH_CRITERIA WHERE SEARCH_PROFIL_ID = {PSEARCH_ID} AND USERID = {My.Application.User.UserId}" My.DatabaseIDB.ExecuteNonQuery(oSQL) + + + End Sub + + Private Sub ClearSelectedControls() + ChangedDateControls = Nothing End Sub Private Sub RenewSearchAttributes() @@ -344,7 +353,8 @@ Public Class frmSearchStart For Each oControl As Control In TabSelected.Controls Dim octrlType = oControl.GetType.ToString - + Dim oAttrID As Integer + Dim oAttrTitle As String Select Case oControl.GetType.ToString Case "DevExpress.XtraGrid.GridControl" Dim oMyGridControl As GridControl = CType(oControl, GridControl) @@ -354,8 +364,8 @@ Public Class frmSearchStart Continue For End If - Dim oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrID - Dim oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle + oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrID + oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle For Each oRowHandle As Integer In oSelectedRows Dim oResult = oMyGridView.GetRowCellValue(oRowHandle, oMyGridView.Columns(0).FieldName) Dim oInsert = $"EXEC PRIDB_NEW_USER_SEARCH_CRITERIA {PSEARCH_ID.ToString},{My.Application.User.UserId.ToString},{oAttrID.ToString},'{oResult}','{My.Application.User.UserName}'" @@ -363,7 +373,52 @@ Public Class frmSearchStart Next Case "DevExpress.XtraEditors.DateEdit" ' MsgBox("Date") + Dim myDTP As DateEdit = CType(oControl, DateEdit) + If ChangedDateControls Is Nothing Then + Continue For + End If + If ChangedDateControls.Count = 0 Then + Continue For + End If + For Each oName As String In ChangedDateControls + If myDTP.Name = oName Then + If Not IsNothing(myDTP.EditValue) Then + oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrID + oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle + Dim oldValue As Date + Dim validDate As Boolean = False + Dim oDateValue As DateTime = myDTP.EditValue + Try + validDate = Date.TryParse(myDTP.OldEditValue, oldValue) + Catch ex As Exception + oldValue = Date.MinValue + End Try + + If Not validDate Then + oldValue = Date.MinValue + End If + + If oldValue = myDTP.EditValue Then + Exit Sub + End If + Dim dateString = oDateValue.ToString("yyyy-MM-dd") 'hh:mm:ss.fff + Dim omydate = myDTP.EditValue.ToString + Dim oInsert = $"EXEC PRIDB_NEW_USER_SEARCH_CRITERIA {PSEARCH_ID.ToString},{My.Application.User.UserId.ToString},{oAttrID.ToString},'{omydate}','{My.Application.User.UserName}'" + My.DatabaseIDB.ExecuteNonQuery(oInsert) + End If + End If + Next + Case "System.Windows.Forms.CheckBox" + Dim myCheckBox As CheckBox = CType(oControl, CheckBox) + If myCheckBox.CheckState <> CheckState.Indeterminate Then + oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrID + oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle + Dim oInsert = $"EXEC PRIDB_NEW_USER_SEARCH_CRITERIA {PSEARCH_ID.ToString},{My.Application.User.UserId.ToString},{oAttrID.ToString},'{myCheckBox.Checked.ToString}','{My.Application.User.UserName}'" + My.DatabaseIDB.ExecuteNonQuery(oInsert) + End If + Case Else + 'MsgBox(oControl.GetType.ToString) End Select Next End Sub @@ -381,22 +436,7 @@ Public Class frmSearchStart Dim oAttrTitle = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle RenewSearchAttributes() AddSearchAttribute(oAttrID, oAttrTitle, oResult) - 'For Each oAttributeRow1 As DataRow In oDTAttributes.Rows - ' If CInt(oAttributeRow1.Item("DEPENDING_ATTRIBUTE1")) = oAttrID Then - ' Logger.Debug($"Another Attribute [{oAttrID}]is depending to this [{oAttrID}] one..") - ' Dim oSourceSQL As String = oAttributeRow1.Item("SOURCE_SQL").ToString - ' oSourceSQL = oSourceSQL.Replace("@DEPENDING_IDB_OBJECT", My.Application.User.Language) - ' oSourceSQL = oSourceSQL.Replace("@USER_LANGUAGE", My.Application.User.Language) - ' oSourceSQL = oSourceSQL.Replace("@pUSER_ID", My.Application.User.UserId) - ' oSourceSQL = oSourceSQL.Replace("@RESULT_TITLE", oAttributeRow1.Item("ATTRIBUTE_TITLE").ToString) - ' Dim oDTSource As DataTable - ' oDTSource = My.Database_IDB.GetDatatable(oSourceSQL) - - ' End If - 'Next - ' Return oResult - 'Else : Return Nothing End If End Sub @@ -406,6 +446,7 @@ Public Class frmSearchStart Dim oChecked = oCurrentCB.Checked Dim oAttrID = DirectCast(oCurrentCB.Tag, ClassControlCreator.ControlMetadata).AttrID Dim oAttrTitle = DirectCast(oCurrentCB.Tag, ClassControlCreator.ControlMetadata).AttrTitle + RenewSearchAttributes() AddSearchAttribute(oAttrID, oAttrTitle, oChecked.ToString) End Sub Private Sub frmSearchStart_Shown(sender As Object, e As EventArgs) Handles Me.Shown @@ -427,13 +468,60 @@ Public Class frmSearchStart 'End If End Sub Private Sub CalendarChanged(sender As Object, e As EventArgs) + If DataLoaded = False Then Exit Sub Dim myDTP As DateEdit = CType(sender, DateEdit) If Not IsNothing(myDTP.EditValue) Then Dim omydate = myDTP.EditValue.ToString + Dim oList As New List(Of String) + oList.Add(myDTP.Name) + If Not IsNothing(ChangedDateControls) Then + Dim oFound As Boolean = False + For Each oName As String In ChangedDateControls + If myDTP.Name = oName Then + oFound = True + Exit For + End If + Next + If oFound = False Then + ChangedDateControls.Add(myDTP.Name) + End If + Else + ChangedDateControls = oList + End If + + RenewSearchAttributes() + 'Dim oInsert = $"EXEC PRIDB_NEW_USER_SEARCH_CRITERIA {PSEARCH_ID.ToString},{My.Application.User.UserId.ToString},{oAttrID.ToString},'{omydate}','{My.Application.User.UserName}'" 'My.DatabaseIDB.ExecuteNonQuery(oInsert) End If End Sub + Private Sub OnDateSelectedValueChanged(sender As Object, e As EventArgs) + Try + Dim myDTP As DateEdit = CType(sender, DateEdit) + Dim value As DateTime = myDTP.EditValue + + Dim oldValue As Date + Dim validDate As Boolean = False + + Try + validDate = Date.TryParse(myDTP.OldEditValue, oldValue) + Catch ex As Exception + oldValue = Date.MinValue + End Try + + If Not validDate Then + oldValue = Date.MinValue + End If + + If oldValue = myDTP.EditValue Then + Exit Sub + End If + Dim dateString = value.ToString("yyyy-MM-dd") 'hh:mm:ss.fff + + Catch ex As Exception + Logger.Error(ex) + End Try + End Sub Public Function IsValidDate(pCheckDT As DataTable, pDate2Check As Date) As Boolean Dim oIsValid As Boolean = False For Each oDateRow As DataRow In pCheckDT.Rows @@ -462,7 +550,7 @@ Public Class frmSearchStart 'Clear_token() ClearSearchCriteria() DTSearchTerms.Clear() - + ClearSelectedControls() Catch ex As Exception MsgBox("Unexpected Error in Clearing Search Items: " & ex.Message, MsgBoxStyle.Critical) End Try @@ -567,7 +655,7 @@ Public Class frmSearchStart BarStaticItemInfo.ItemAppearance.Normal.BackColor = pColor End Sub - Private Sub MehrfachauswahlAktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MehrfachauswahlAktivierenToolStripMenuItem.Click + Private Sub MehrfachauswahlAktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) If DataLoaded = False Then Exit Sub Dim oCurrentControl As GridControl = DirectCast(CURR_CTRL_OBJ, GridControl) Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrID @@ -581,12 +669,9 @@ Public Class frmSearchStart Next End Sub - Private Sub ContextMenuStripMultiselect_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStripMultiselect.Opening - DataLoaded = False - CURR_CTRL_OBJ = ContextMenuStripMultiselect.SourceControl - End Sub - Private Sub MehrfachauswahlInaktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MehrfachauswahlInaktivierenToolStripMenuItem.Click + + Private Sub MehrfachauswahlInaktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) If DataLoaded = False Then Exit Sub Dim oCurrentControl As GridControl = DirectCast(CURR_CTRL_OBJ, GridControl) Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrID @@ -600,14 +685,6 @@ Public Class frmSearchStart Next End Sub - Private Sub ContextMenuStripMultiselect_Closed(sender As Object, e As ToolStripDropDownClosedEventArgs) Handles ContextMenuStripMultiselect.Closed - DataLoaded = True - End Sub - - Private Sub ContextMenuStripMultiselect_Closing(sender As Object, e As ToolStripDropDownClosingEventArgs) Handles ContextMenuStripMultiselect.Closing - DataLoaded = True - End Sub - Private Sub GridViewSearchTerms_RowDeleted(sender As Object, e As DevExpress.Data.RowDeletedEventArgs) Handles GridViewSearchTerms.RowDeleted If DataLoaded = False Then Exit Sub Dim oCurrentView As GridView = DirectCast(sender, GridView) diff --git a/Modules.Config/ConfigAttributes.vb b/Modules.Config/ConfigAttributes.vb index 6dafd891..4a2614b5 100644 --- a/Modules.Config/ConfigAttributes.vb +++ b/Modules.Config/ConfigAttributes.vb @@ -12,7 +12,9 @@ Public Class ConnectionStringTestAttribute Inherits Attribute End Class - + Public Class ConnectionStringAppServer + Inherits Attribute + End Class ''' ''' Global setting. Will not be saved to userconfig. ''' diff --git a/Modules.Config/ConfigManager.vb b/Modules.Config/ConfigManager.vb index ad819c32..b44204a1 100644 --- a/Modules.Config/ConfigManager.vb +++ b/Modules.Config/ConfigManager.vb @@ -28,6 +28,7 @@ Public Class ConfigManager(Of T) Private ReadOnly _ExcludedAttributes = New List(Of Type) From { GetType(ConnectionStringAttribute), + GetType(ConnectionStringAppServer), GetType(ConnectionStringTestAttribute), GetType(GlobalSettingAttribute) } diff --git a/Modules.Config/ConfigSample.vb b/Modules.Config/ConfigSample.vb index f2afaf11..2dbc0e27 100644 --- a/Modules.Config/ConfigSample.vb +++ b/Modules.Config/ConfigSample.vb @@ -7,6 +7,8 @@ Public Class ConfigSample Public Property ConnectionStringTest As String + + Public Property ConnectionStringAppServer As String Public Property GlobalSetting As Integer diff --git a/Modules.Config/My Project/AssemblyInfo.vb b/Modules.Config/My Project/AssemblyInfo.vb index 5cf7a2d6..1ae5ba01 100644 --- a/Modules.Config/My Project/AssemblyInfo.vb +++ b/Modules.Config/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Modules.Interfaces/ActiveDirectoryInterface/SyncUsers.MSSQL.vb b/Modules.Interfaces/ActiveDirectoryInterface/SyncUsers.MSSQL.vb index de88cc71..23172be2 100644 --- a/Modules.Interfaces/ActiveDirectoryInterface/SyncUsers.MSSQL.vb +++ b/Modules.Interfaces/ActiveDirectoryInterface/SyncUsers.MSSQL.vb @@ -111,7 +111,10 @@ Namespace SyncUsers ' Delete users that are assigned to the group but no longer exist in active directory Dim oUserIdString = String.Join(",", oSyncedUserIds) - Dim oSQL As String = $"DELETE FROM TBDD_GROUPS_USER WHERE USER_ID NOT IN (${oUserIdString}) AND GROUP_ID = {oGroupId}" + If oSyncedUserIds.Count = 0 Then + oUserIdString = 0 + End If + Dim oSQL As String = $"DELETE FROM TBDD_GROUPS_USER WHERE USER_ID NOT IN ({oUserIdString}) AND GROUP_ID = {oGroupId}" Dim oDeletedRelations = _mssql.GetScalarValue(oSQL) If oCreatedUsers.Count > 0 Then _logger.Info("Created [{0}] new users", oCreatedUsers.Count)