improve init, clean up code

This commit is contained in:
Jonathan Jenne 2020-10-28 15:47:20 +01:00
parent e11e52faba
commit 1d976b6ab3
8 changed files with 133 additions and 127 deletions

View File

@ -1,4 +1,6 @@
Public Class ClassConstants
Public Const CRYPTO_LEGACY_ENCRYPTION_KEY = "!35452didalog="
Public Const SERVICE_MAX_MESSAGE_SIZE = 2147483647
Public Const SERVICE_MAX_BUFFER_SIZE = 2147483647
Public Const SERVICE_MAX_ARRAY_LENGTH = 2147483647

View File

@ -23,6 +23,7 @@ Public Class ClassInit
' - Database / Service / Application Server
' (Init Licensing)
' Init User
' Init IDB
' Zeile -> Objekt / NameValue List
If Not SetupDatabase() Then
@ -34,7 +35,9 @@ Public Class ClassInit
' === Init Schritte definieren
oInit.AddStep("Checking connectivity..", AddressOf CheckConnectivity, True)
oInit.AddStep("Initializing User..", AddressOf InitializeUser, True)
oInit.AddStep("Initializing IDB..", AddressOf InitializeIDB, True)
oInit.AddStep("Loading 3rd-party licenses", AddressOf Initialize3rdParty, False)
' === Init Schritte definieren
AddHandler oInit.ProgressChanged, AddressOf ProgressChanged
@ -44,8 +47,6 @@ Public Class ClassInit
End If
End Sub
Private Function SetupDatabase() As Boolean
If My.SystemConfig.ConnectionString = String.Empty Then
Dim oResult = frmConfigDatabase.ShowDialog()
@ -76,29 +77,13 @@ Public Class ClassInit
My.Application.User = oMyApplication.User
My.Application.Modules = oMyApplication.Modules
My.Application.ModulesActive = oMyApplication.ModulesActive
If My.Application.ModulesActive.Contains(ClassConstants.MODULE_ZOOFLOW) Then
If My.Database.DBInitialized Then
Dim oSQl = "SELECT * FROM TBDD_CONNECTION WHERE BEZEICHNUNG = 'IDB'"
Dim oDTCONN_IDB As DataTable = My.Database.GetDatatable(oSQl)
If oDTCONN_IDB.Rows.Count = 1 Then
Dim oConString = My.Database.GetConnectionString(oDTCONN_IDB.Rows(0).Item("SERVER"), oDTCONN_IDB.Rows(0).Item("DATENBANK"), oDTCONN_IDB.Rows(0).Item("USERNAME"), oDTCONN_IDB.Rows(0).Item("PASSWORD"))
My.Database_IDB = New MSSQLServer(My.LogConfig, oConString)
If My.Database.DBInitialized = False Then
_Logger.Warn("Could not initialize IDB-Database!")
Throw New InitException("Could not initialize IDB-Database!")
End If
End If
End If
End If
RaiseEvent Completed(sender, Nothing)
End If
End Sub
Private Sub CheckConnectivity(MyApplication As My.MyApplication)
Dim oCrypt As New EncryptionLegacy("!35452didalog=")
Dim oCrypt As New EncryptionLegacy(CRYPTO_LEGACY_ENCRYPTION_KEY)
Dim oBuilder = My.SystemConfig.GetConnectionStringBuilder(My.SystemConfig.ConnectionString)
oBuilder.Password = oCrypt.DecryptData(oBuilder.Password)
Dim oDecryptedConnectionString = oBuilder.ToString
@ -129,11 +114,44 @@ Public Class ClassInit
End Try
End Sub
Private Sub InitializeIDB(MyApplication As My.MyApplication)
If MyApplication.ModulesActive.Contains(MODULE_ZOOFLOW) Then
If My.Database.DBInitialized Then
Dim oSQl = "SELECT * FROM TBDD_CONNECTION WHERE BEZEICHNUNG = 'IDB'"
Dim oDatatable As DataTable = My.Database.GetDatatable(oSQl)
If IsNothing(oDatatable) OrElse oDatatable.Rows.Count = 0 Then
_Logger.Warn("No IDB connection entries in TBDD_CONNECTION found!")
Throw New InitException("Fehler beim Laden der IDB Verbindungsdaten!")
End If
If oDatatable.Rows.Count > 1 Then
_Logger.Warn("Multiple IDB connection entries in TBDD_CONNECTION found!")
Throw New InitException("Fehler beim Laden der IDB Verbindungsdaten!")
End If
Dim oConString = My.Database.GetConnectionString(oDatatable.Rows(0).Item("SERVER"), oDatatable.Rows(0).Item("DATENBANK"), oDatatable.Rows(0).Item("USERNAME"), oDatatable.Rows(0).Item("PASSWORD"))
My.Database_IDB = New MSSQLServer(My.LogConfig, oConString)
If My.Database_IDB.DBInitialized = False Then
_Logger.Warn("Could not initialize IDB-Database!")
Throw New InitException("Could not initialize IDB-Database!")
End If
End If
Else
_Logger.Warn("ZooFlow missing from Active Modules!")
Throw New InitException("ZooFlow Modult ist nicht aktiv oder nicht lizensiert!")
End If
End Sub
Private Sub InitializeUser(MyApplication As My.MyApplication)
Try
Dim oSql As String = My.Queries.Common.FNDD_MODULE_INIT(Environment.UserName)
Dim oDatatable As DataTable = My.Database.GetDatatable(oSql)
If oDatatable Is Nothing Then
Throw New InitException("Benutzer konnte nicht geladen werden!")
End If
If oDatatable.Rows.Count <= 1 Then
Throw New InitException("Benutzer konnte nicht gefunden werden!")
End If
@ -147,7 +165,6 @@ Public Class ClassInit
Case MODULE_CLIPBOARDWATCHER
HandleModuleInfo(MyApplication, oType, oRow)
Case MODULE_GLOBAL_INDEXER
HandleModuleInfo(MyApplication, oType, oRow)
Case MODULE_ZOOFLOW
@ -157,7 +174,7 @@ Public Class ClassInit
Catch ex As Exception
_Logger.Error(ex)
Throw New InitException("Fehler beim Laden des Benutzers!")
Throw ex
End Try
End Sub

View File

@ -96,8 +96,12 @@ Public Class ClassInitLoader
Public Class InitException
Inherits ApplicationException
Public Sub New(message As String)
MyBase.New(message)
Public Sub New(Message As String, InnerException As Exception)
MyBase.New(Message, InnerException)
End Sub
Public Sub New(Message As String)
MyBase.New(Message)
End Sub
End Class
End Class

View File

@ -85,7 +85,7 @@ Partial Class frmFlowForm
'
Me.PictureBoxConversation.BackColor = System.Drawing.Color.Transparent
Me.PictureBoxConversation.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._2_ZOO_FLOW_Conversations
Me.PictureBoxConversation.Location = New System.Drawing.Point(100, 163)
Me.PictureBoxConversation.Location = New System.Drawing.Point(109, 161)
Me.PictureBoxConversation.Name = "PictureBoxConversation"
Me.PictureBoxConversation.Size = New System.Drawing.Size(20, 25)
Me.PictureBoxConversation.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
@ -96,7 +96,7 @@ Partial Class frmFlowForm
'
Me.PictureBoxPMTask.BackColor = System.Drawing.Color.Transparent
Me.PictureBoxPMTask.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._2_ZOO_FLOW_PM
Me.PictureBoxPMTask.Location = New System.Drawing.Point(100, 138)
Me.PictureBoxPMTask.Location = New System.Drawing.Point(109, 136)
Me.PictureBoxPMTask.Name = "PictureBoxPMTask"
Me.PictureBoxPMTask.Size = New System.Drawing.Size(20, 25)
Me.PictureBoxPMTask.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
@ -107,7 +107,7 @@ Partial Class frmFlowForm
'
Me.PictureBoxSearchAbo.BackColor = System.Drawing.Color.Transparent
Me.PictureBoxSearchAbo.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._2_ZOO_FLOW_Abo
Me.PictureBoxSearchAbo.Location = New System.Drawing.Point(100, 34)
Me.PictureBoxSearchAbo.Location = New System.Drawing.Point(109, 34)
Me.PictureBoxSearchAbo.Name = "PictureBoxSearchAbo"
Me.PictureBoxSearchAbo.Size = New System.Drawing.Size(20, 28)
Me.PictureBoxSearchAbo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
@ -118,7 +118,7 @@ Partial Class frmFlowForm
'
Me.PictureBoxCWFound.BackColor = System.Drawing.Color.Transparent
Me.PictureBoxCWFound.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._2_ZOO_FLOW_CW
Me.PictureBoxCWFound.Location = New System.Drawing.Point(100, 12)
Me.PictureBoxCWFound.Location = New System.Drawing.Point(109, 12)
Me.PictureBoxCWFound.Name = "PictureBoxCWFound"
Me.PictureBoxCWFound.Size = New System.Drawing.Size(20, 25)
Me.PictureBoxCWFound.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
@ -129,7 +129,7 @@ Partial Class frmFlowForm
'
Me.PictureBoxPM.BackColor = System.Drawing.Color.Transparent
Me.PictureBoxPM.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_ZOO_FLOW_User
Me.PictureBoxPM.Location = New System.Drawing.Point(126, 138)
Me.PictureBoxPM.Location = New System.Drawing.Point(135, 136)
Me.PictureBoxPM.Name = "PictureBoxPM"
Me.PictureBoxPM.Size = New System.Drawing.Size(50, 50)
Me.PictureBoxPM.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
@ -140,7 +140,7 @@ Partial Class frmFlowForm
'
Me.PictureBoxSearch.BackColor = System.Drawing.Color.Transparent
Me.PictureBoxSearch.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_ZOO_FLOW_Suche
Me.PictureBoxSearch.Location = New System.Drawing.Point(126, 12)
Me.PictureBoxSearch.Location = New System.Drawing.Point(135, 12)
Me.PictureBoxSearch.Name = "PictureBoxSearch"
Me.PictureBoxSearch.Size = New System.Drawing.Size(50, 50)
Me.PictureBoxSearch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom

View File

@ -34,20 +34,16 @@ Public Class frmFlowForm
Next
Dim oSQL = $"SELECT * FROM [dbo].[FNIDB_GET_SEARCH_PROFILES] ({My.Application.User.UserId},'{My.Application.User.Language}')"
Dim oDT As DataTable = My.Database_IDB.GetDatatable(oSQL)
Dim oDatatable As DataTable = My.Database_IDB.GetDatatable(oSQL)
PictureBoxSearch.Visible = False
If Not IsNothing(oDT) Then
If oDT.Rows.Count > 0 Then
IDBSearchActive = True
DTIDB_SEARCHES = oDT
PictureBoxSearch.Visible = True
End If
If Not IsNothing(oDatatable) OrElse oDatatable.Rows.Count > 0 Then
IDBSearchActive = True
DTIDB_SEARCHES = oDatatable
PictureBoxSearch.Visible = True
End If
My.DTAttributes = My.Database_IDB.GetDatatable("SELECT * FROM TBIDB_ATTRIBUTE")
End Sub
Public Sub SetFormLocation()

View File

@ -97,16 +97,14 @@ Partial Class frmSearchStart
'
Me.BarButtonItemNewSearch.Caption = "Neue Suche"
Me.BarButtonItemNewSearch.Id = 1
Me.BarButtonItemNewSearch.ImageOptions.Image = CType(resources.GetObject("BarButtonItemNewSearch.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItemNewSearch.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItemNewSearch.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItemNewSearch.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItemNewSearch.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItemNewSearch.Name = "BarButtonItemNewSearch"
'
'BarButtonItem2
'
Me.BarButtonItem2.Caption = "Suche speichern"
Me.BarButtonItem2.Id = 2
Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'BarHeaderItem1
@ -130,8 +128,7 @@ Partial Class frmSearchStart
'
Me.BarButtonItem1.Caption = "Suche leeren"
Me.BarButtonItem1.Id = 5
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'BarButtonItem3
@ -171,7 +168,7 @@ Partial Class frmSearchStart
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemNewSearch)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "Such-Aktionen"
'
'RibbonPageGroup2
'

View File

@ -117,73 +117,58 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BarButtonItemNewSearch.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
O5UGMy8AAACYSURBVDhPpZPRDYAgDEQZxUH4ZjqZwmFYh8QBtI/YBEzBmH68RHvXwwKGGOObJGShCPWB
Z2pog79/2YRdOIVrAhoevEMAhUOwmizwthANINUyrqCnBTDX7LN1AUujJyGyOZYBVgGQEdlhS4SvgILI
MfVFbZrReysFd4B7BPcmuo8RXBcJ3FdZQ0idjQNoeFoz9AHKj985hhsZRV9cJDh5ygAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="BarButtonItemNewSearch.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u
O5UGMy8AAAFASURBVFhHzZexEcIwDEWZgIpxUtDRMQMDMEi2oaVkCzo6Vkhr9DjsI+Gb2AEiinfnC9L3
x5blZBFCcEU+nJM0aJpmjKWxNVrjaFyM7gFjnvEbMcQqjUSNgZWxN05GKIRYcshVmsUGNsbBUJOUQC4a
L9olBnbG2VDCNaCBVk9/zAAJV0MJTgGtnol3Bliyb/zzIWim7cgZoGhK93xtxDzGKmYI2vfCzBmgclWi
IuZEVIyCOaQBzm7NUZtqgDmWygANRCXkmGoAtsoAXUwF5/jEQKsM0EpVcI5PDByVAfq5Cn6u9lpyp+Oi
DHCpqOChaC1Ks/tLA+5b4F6E7sfQvRG5t2JwvYzA/ToG1xeSiOsrWYSEb6wEGr3JocQAsGSlNaEgNy37
M6UGgKKhcmuOKLHk3AtOUWMg8ttPMy/kw/kIixsQHeuLUpLJLQAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgQXM7U2F2ZZVZ6PsAAAB0
SURBVDhPzYxRDoAgDEO9ERfYvf3ibLgSqtsUxA8SSR5rm62biGSlAH3wVVtCnuGJOwiLp3/KydoCw3wB
UO1m0+8Fs6wpsCHQrBLzyHQB9wwJ+acCqxtpWBC8jksTZ3rEAoIM387FHlzmIUHmghH/KLgj5QBN+0Aj
rFmxMgAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem2.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFNhdmUgQXM7U2F2ZZVZ6PsAAAFN
SURBVFhHzZdBjsIwDEU5WCUkVpyq9+MeI3GMjB3lW78ZG4dmaFk8RbW/ny12XEopp+IWj8QtHsnmY1mW
q/AQCuB+y1gvw8mr+8q+Xv6kcIX7LbPpvyLIP9mXyrkfZRraA7UW5eFSUjn3o0wDyy0T5eFSUjn3o0wD
yy0T5eFSUjn3o0wDyy0T5eFSUjn3o0wDyy0T5eFSUjn3o0xElIdLSeXcjzIRUR4uJZVzfw+ZMw1/At55
2gHynnsAeHXAjXsjyEzETXjvAK5/ks3Hfx3AHoeVs+Eg10eROby80GMVarYXWIjro0BKnlojzC/UX6IX
WIDro8gcXniwGJi/sfYCa3J9FJnDCw8WA/ODXmANro8ic3jhwWKPLz9AuHNvBJnBCweWedRML8DgbmYP
+EFjL7MH3IU//w3eYeqAWVTc3nMOAJCP4Apm8Rb5LOUXGwfo+ilQ1NwAAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAENsZWFyO0VyYXNlO1JlbW92ZTtC
YXJzO1JpYmJvbjuHgINzAAAApUlEQVQ4T6XMwQ3CMAxA0c6EOGYADmzAHa5MgITEiQ0YgAlYg53MdxRX
iWNCgcOrWtffk4j8JRx6KaWtiv51A6/Et6I70nx4Lja7eqcJaixG8R2Ck+11oWJhFJt85NdYnbsDDFc4
YlHcHGCo8b6wI8N4PsCwjs0VwzgfYBjFFzzxwNvYDqwRxUaPhLHKDxbsiI/VwUe1+YXFjQs/xiocfiMc
LifTC6uQRtbCdJzDAAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAENsZWFyO0VyYXNlO1JlbW92ZTtC
YXJzO1JpYmJvbjuHgINzAAABP0lEQVRYR8WOwU0DMRREU0fKQLllDxRAHeFKBUhInOggBVABbaQnZwbt
j+zv8WJ7d83hReuJ/rw5hBD+FRmORIYjkeEapml6Ieo/hQx7meXXmaoRMuzByatHyLAVipw4ZnGEDFug
wAkVxREyrIXFTlTiG7yrjiyoBYUt8jCTjUgetaCoRy5HJMU1oGCN3Hi2vkywBA63kH/EnYlgCRxuLifJ
owQOz0DJPE1ykgUeHD6BC3gDSmo0y4kMDRya3CiN6JITGRIcenlpRLecyBCHJblhI1bJSRbg8C+58QWU
mFTJSfLAYa38E9zAD+iWk8cHDlvlRjyiSU5+f3B4BErm8fJ4RLOcPD5QcAJKapTk5DUubSF5oKg0Yhc5
yQIU+hG7yYkMUWwjdpUTGRIIOEKJySZyIsORyHAkMhyJDMcRDndsJLA2GBzXxAAAAABJRU5ErkJggg==
</value>
</data>
<assembly alias="DevExpress.Data.v19.2" name="DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItemNewSearch.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
Cjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si
IC8+DQo8L3N2Zz4L
</value>
</data>
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEACAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iQ2xlYXIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMy
IDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5CbHVl
e2ZpbGw6IzExNzdENzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0xNi4xLDIzLjFsLTQuNCw0LjRjLTAu
NywwLjctMS45LDAuNy0yLjYsMGwtNi42LTYuNmMtMC43LTAuNy0wLjctMS45LDAtMi42TDYuOSwxNEwx
Ni4xLDIzLjF6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPHBhdGggZD0iTTI3LjUsMTEuOGwtMTAsMTBsLTku
Mi05LjJsMTAtMTBjMC43LTAuNywxLjktMC43LDIuNiwwbDYuNiw2LjZDMjguMiw5LjksMjguMiwxMSwy
Ny41LDExLjh6IiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
</value>
</data>
<data name="BarEditItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
@ -233,6 +218,7 @@
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>174</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="frmSearchStart.IconOptions.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAAAAAAAEAIABNFwAAZgAAAICAAAABACAAKAgBALMXAABAQAAAAQAgAChCAADbHwEAMDAAAAEA

View File

@ -1,4 +1,6 @@
Imports DigitalData.Modules.Logging
Option Explicit On
Imports DigitalData.Modules.Logging
Imports DevExpress.XtraTab
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
@ -44,24 +46,24 @@ Public Class frmSearchStart
End Sub
Public Sub AddSearchAttribute(pAttrID As String, pAttrTitle As String, pSearchTerm As String, Optional pCriteria As String = "=")
Public Sub AddSearchAttribute(pAttributeId As String, pAttributeTitle As String, pSearchTerm As String, Optional pCriteria As String = "=")
GridControlSerchTerms.DataSource = Nothing
Dim oMultiselect As Boolean = False
For Each oROW As DataRow In oDTAttributes.Rows
If oROW.Item("ATTRIBUTE_ID") = pAttrID Then
oMultiselect = CBool(oROW.Item("MULTISELECT"))
For Each oRow As DataRow In oDTAttributes.Rows
If oRow.Item("ATTRIBUTE_ID") = pAttributeId Then
oMultiselect = CBool(oRow.Item("MULTISELECT"))
Exit For
End If
Next
If oMultiselect = False Then
For Each oSearchTerm As DataRow In DTSearchTerms.Rows
If oSearchTerm.Item("AttrID") = pAttrID Then 'And oSearchTerm.Item("Criteria") = pCriteria And oSearchTerm.Item("SearchTerm") = pSearchTerm
If oSearchTerm.Item("AttrID") = pAttributeId Then 'And oSearchTerm.Item("Criteria") = pCriteria And oSearchTerm.Item("SearchTerm") = pSearchTerm
oSearchTerm.Delete()
End If
Next
End If
DTSearchTerms.Rows.Add("", pAttrID, pAttrTitle, pCriteria, pSearchTerm, "", "and")
DTSearchTerms.Rows.Add("", pAttributeId, pAttributeTitle, pCriteria, pSearchTerm, "", "and")
RenewBinding_DTSearchTerms()
If SplitContainerControlSearch.Collapsed = True Then
@ -630,7 +632,7 @@ Public Class frmSearchStart
End Sub
Private Sub KlammerRechtsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KlammerRechtsToolStripMenuItem.Click
Dim rowView As DataRowView = GridViewSearchTerms.GetFocusedRow()
Dim rowView As DataRowView = CType(GridViewSearchTerms.GetFocusedRow(), DataRowView)
If IsNothing(rowView) = False Then
Dim oAttrID As String = rowView.Item("AttrID")
Dim oSearchTerm As String = rowView.Item("SearchTerm")
@ -679,7 +681,7 @@ Public Class frmSearchStart
'"BracketRight"
'"Operator"
oOperator = oRow.Item("Operator").ToString
Dim oSearchTerm = GetSearchTerm_for_Type(oRow.Item("AttrID"), oRow.Item("AttrTitle").ToString, oRow.Item("Criteria").ToString, oRow.Item("SearchTerm").ToString)
Dim oSearchTerm = GetSearchTermForType(oRow.Item("AttrID"), oRow.Item("AttrTitle").ToString, oRow.Item("Criteria").ToString, oRow.Item("SearchTerm").ToString)
oSEARCH_SQL &= IIf(oCount = 0, " ", "") + $"{oRow.Item("BracketLeft").ToString}{oSearchTerm}{oRow.Item("BracketLeft").ToString}"
If DTSearchTerms.Rows.Count > oCount Then
@ -699,12 +701,14 @@ Public Class frmSearchStart
Dim oShortGuid = Guid.NewGuid()
Dim oWindowGuid = $"{PSEARCH_ID.ToString}-{My.User.Name}" '{String.Join("-", oShortGuid.ToString)}"
Dim oParams = New DocumentResultParams() With {
.WindowGuid = oWindowGuid
}
oParams.Results.Add(New DocumentResult() With {
.Title = TabSelected.Text,
.Datatable = oDTSearchResult
})
.WindowGuid = oWindowGuid,
.Results = New List(Of DocumentResult) From {
New DocumentResult() With {
.Title = TabSelected.Text,
.Datatable = oDTSearchResult
}
}
}
Dim oForm As New frmDocumentResultList(My.LogConfig, oEnvironment, oParams)
@ -722,7 +726,7 @@ Public Class frmSearchStart
End Sub
Private Function GetSearchTerm_for_Type(pAttrID As Int16, pAttrTitle As String, pCriteria As String, pTERM As String) As String
Private Function GetSearchTermForType(pAttrID As Int16, pAttrTitle As String, pCriteria As String, pTERM As String) As String
Dim oRETURN As String = ""
Dim oFilter As String = $"GUID = {pAttrID}"