This commit is contained in:
Jonathan Jenne 2020-09-07 17:34:57 +02:00
commit 11bf529b57
23 changed files with 2816 additions and 506 deletions

View File

@ -55,8 +55,10 @@ Public Class ClassControlCreator
Public Class ControlMetadata
Public Guid As Integer
Public AttrID As Integer
Public DependingAttrID As Integer
Public AttrTitle As String
Public AttrType As String
Public SourceSQL As String
Public DTSource As DataTable
Public MinValue As String
Public MaxValue As String
@ -92,21 +94,33 @@ Public Class ClassControlCreator
oSourceSQL = oSourceSQL.Replace("@USER_LANGUAGE", My.Application.User.Language)
oSourceSQL = oSourceSQL.Replace("@pUSER_ID", My.Application.User.UserId)
oSourceSQL = oSourceSQL.Replace("@RESULT_TITLE", pAttributeRow.Item("ATTRIBUTE_TITLE").ToString)
Dim oDTSource As DataTable = My.Database_IDB.GetDatatable(oSourceSQL)
Dim oDTSource As DataTable
If pAttributeRow.Item("DEPENDING_ATTRIBUTE1") = 0 Then
oDTSource = My.Database_IDB.GetDatatable(oSourceSQL)
End If
Dim oMinValue As String = ""
Dim oMaxValue As String = ""
If Not IsNothing(oDTSource) Then
oMinValue = oDTSource.Rows(0).Item(0)
oMaxValue = oDTSource.Rows(oDTSource.Rows.Count - 1).Item(0)
End If
ctrl.Tag = New ControlMetadata() With {
'ctrl.Tag = New ControlMetadata() With {
Dim omyclass = New ControlMetadata() With {
.Guid = CType(pAttributeRow.Item("GUID"), Integer),
.AttrID = CType(pAttributeRow.Item("ATTRIBUTE_ID"), Integer),
.DependingAttrID = CType(pAttributeRow.Item("DEPENDING_ATTRIBUTE1"), Integer),
.AttrTitle = CType(pAttributeRow.Item("ATTRIBUTE_TITLE"), String),
.DTSource = CType(oDTSource, DataTable),
.SourceSQL = oSourceSQL,
.MinValue = oMinValue,
.MaxValue = oMaxValue
}
If CInt(pAttributeRow.Item("DEPENDING_ATTRIBUTE1")) <> 0 Then
omyclass.DTSource = Nothing
Else
omyclass.DTSource = CType(oDTSource, DataTable)
End If
ctrl.Tag = omyclass
ctrl.Name = props.Name
ctrl.Location = props.Location
ctrl.Font = props.Font
@ -171,7 +185,7 @@ Public Class ClassControlCreator
oView = CType(oMyNewGridControl.MainView, GridView)
oView.OptionsView.ShowGroupPanel = False
oMyNewGridControl.ContextMenu = Nothing
oView.Appearance.EvenRow.BackColor = Color.LightBlue
oView.Appearance.EvenRow.BackColor = Color.PaleTurquoise
oView.OptionsBehavior.Editable = False
oView.OptionsBehavior.ReadOnly = True
@ -451,7 +465,7 @@ Public Class ClassControlCreator
End Sub
Public Sub OncmbSIndexChanged(sender As System.Object, e As System.EventArgs)
If Form.FormShown = False Then
If Form.DataLoaded = False Then
Exit Sub
End If

View File

@ -60,26 +60,6 @@ Namespace My.Resources
End Set
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property _0_ZOO_FLOW_Hintergrund() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("0_ZOO_FLOW_Hintergrund", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property _1_ZOO_FLOW_Person() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("1_ZOO_FLOW_Person", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@ -90,6 +70,26 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Checked_outforEdit_13297() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Checked-outforEdit_13297", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Checked_outforEdit_Color_13297() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Checked-outforEdit_Color_13297", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@ -110,6 +110,36 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property DD_Icons_ICO_PMANAGER_128px() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("DD_Icons_ICO_PMANAGER_128px", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property DD_Icons_ICO_PMANAGER_256px() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("DD_Icons_ICO_PMANAGER_256px", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Editdatasetwithdesigner_8449() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Editdatasetwithdesigner_8449", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@ -140,6 +170,26 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property StatusAnnotations_Stop_32xLG() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("StatusAnnotations_Stop_32xLG", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ZOO_FLOW_Hintergrund() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ZOO_FLOW_Hintergrund", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>

View File

@ -118,37 +118,52 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="GLOBIX_GEFUNDEN_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GLOBIX_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="DD_Icons_ICO_PMANAGER_256px" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DD_Icons_ICO_PMANAGER_256px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZOOFLOW_Home_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZOOFLOW_Home_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CW_GEFUNDEN_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CW_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZOOFLOW_Home_klein_Eckig" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZOOFLOW_Home_klein_Eckig.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="1_ZOO_FLOW_Person" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\1_ZOO_FLOW_Person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Find_5650" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Find_5650.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="1_ZOO_FLOW_Search" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\1_ZOO_FLOW_Search.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CW_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CW_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GLOBIX_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GLOBIX_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="StatusAnnotations_Stop_32xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\StatusAnnotations_Stop_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZOOFLOW_Home_klein_Cropped" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZOOFLOW_Home_klein_Cropped.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="0_ZOO_FLOW_Hintergrund" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\0_ZOO_FLOW_Hintergrund.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="CW_GEFUNDEN_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CW_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZOO_FLOW_Hintergrund" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZOO_FLOW_Hintergrund.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZOOFLOW_Home_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZOOFLOW_Home_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CW_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CW_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Checked-outforEdit_13297" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checked-outforEdit_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DD_Icons_ICO_PMANAGER_128px" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DD_Icons_ICO_PMANAGER_128px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Editdatasetwithdesigner_8449" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Editdatasetwithdesigner_8449.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Checked-outforEdit_Color_13297" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GLOBIX_GEFUNDEN_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GLOBIX_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZOOFLOW_Home_klein_Eckig" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZOOFLOW_Home_klein_Eckig.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Find_5650" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Find_5650.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GLOBIX_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GLOBIX_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="1_ZOO_FLOW_Search" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\1_ZOO_FLOW_Search.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -1,8 +1,11 @@
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.FormAssistant, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -25,6 +25,7 @@ Namespace My
End Get
End Property
Property DTAttributes As DataTable
Property LogConfig As LogConfig
Property MainForm As frmAdmin
Property SearchForm As frmSearchStart

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -243,11 +243,16 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Resources\ZOO_FLOW_Hintergrund.png" />
<None Include="Resources\ZOOFLOW_Home_klein_Cropped.png" />
<None Include="Resources\Find_5650.png" />
<None Include="Resources\Checked-outforEdit_13297.png" />
<None Include="Resources\Checked-outforEdit_Color_13297.png" />
<None Include="Resources\StatusAnnotations_Stop_32xLG.png" />
<None Include="Resources\Editdatasetwithdesigner_8449.png" />
<None Include="Resources\DD_Icons_ICO_PMANAGER_256px.png" />
<None Include="Resources\DD_Icons_ICO_PMANAGER_128px.png" />
<None Include="Resources\1_ZOO_FLOW_Search.png" />
<None Include="Resources\1_ZOO_FLOW_Person.png" />
<None Include="Resources\0_ZOO_FLOW_Hintergrund.png" />
<Content Include="Resources\ZOOFLOW_Home_klein_Eckig.png" />
</ItemGroup>
<ItemGroup>

View File

@ -118,6 +118,7 @@
'
'AnzeigenVersteckenToolStripMenuItem
'
Me.AnzeigenVersteckenToolStripMenuItem.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.Editdatasetwithdesigner_8449
Me.AnzeigenVersteckenToolStripMenuItem.Name = "AnzeigenVersteckenToolStripMenuItem"
Me.AnzeigenVersteckenToolStripMenuItem.Size = New System.Drawing.Size(284, 22)
Me.AnzeigenVersteckenToolStripMenuItem.Text = "Administration Anzeigen/Verstecken"
@ -143,6 +144,7 @@
'
'BeendenToolStripMenuItem
'
Me.BeendenToolStripMenuItem.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.StatusAnnotations_Stop_32xLG
Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem"
Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(284, 22)
Me.BeendenToolStripMenuItem.Text = "Beenden"

View File

@ -173,16 +173,146 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="NotifyIconMain.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAEBAAAAEACABoBQAARgAAABAQAAABABgAaAMAAK4FAAAgIAAAAQAIAKgIAAAWCQAAICAAAAEA
GACoDAAAvhEAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAD28uoA6/TxAOXi
wgDp39IA4M3DAN/SzADCwsIA9tSTAO/HlQDvwI0A3cu9AMfFvgDJwK0A18qdAOC8oQDcvaIAyb29ANur
kQDap4EAzKWLAMqbggCW0N0AlcbfAKvztgCn0pQAubbFALSpwACBo8wAu7u7ALe3twC9t6cArKysAKWl
pQCwqp4ArLmYAKCfmwCfr78Ahaa1AJyalwCMjIwA/8J9AP3FRwDsqXcA6qZZAOmfbQDilGIA3KR9ANST
agDTjF0A0YFOAP+sOgD/pw0A/osmAP+UFAD/lwsA/5ABAP2IEgD/jAEA/4MBALWzaACoh28AvZRSAIG7
VgCfhWwA/n4JAP98AQD/dgEAoW9QAJ54WwCccFEAqGI/AHzo8gBO0uQAUOq9AGu/7wBtqNwAMcX/AAHc
/wAB1f8AAcb/AD6I6AAsmOMAIID2ABCg/AABtv8AAar/AAGj/wBm5XYAQMtOAF26UwAy4VIAL/RdACno
UQAmyDkAHtM7ADewKwAUviYADK4VAEF75gBAYeQAH2HxAAF2/wABY/8AAVD/AAE//wBtbW0AZWVlAGhi
XwBwXFMAdVtPAGpQRABcT0kAflE7AHdGLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAABAAgAMDAAAAEACACoDgAAhgAAACAgAAABAAgAqAgAAC4PAAAYGAAAAQAIAMgGAADWFwAAEBAAAAEA
CABoBQAAnh4AADAwAAABACAAqCUAAAYkAAAgIAAAAQAgAKgQAACuSQAAGBgAAAEAIACICQAAVloAABAQ
AAABACAAaAQAAN5jAAAoAAAAMAAAAGAAAAABAAgAAAAAAAAJAAAAAAAAAAAAAAABAAAAAQAAAAAAAGsr
AAB9MQAAcz0bACxEMAAgYCwAK2M1ACZxNABRZ1YAf2xiAJs9AAAAAAAArEsEAKRNDwCzTAEAtlMDALpW
AwC+WQUAqFASAKZYJQCTYzsApGAtAKFoOAClcTsAtXs/AMJcBgDGXggAyF8IANBcAADMYwkA0GoGANho
BgDQZgwA02kMANltDQDdcQ0AzmoVAMZpHgDLahkA0GcQANRtFgDbbhEA128ZANtyEQDbdBsA4XUSAOF4
FQDkehoA6XwZAMdwJwDSciEA5H4jAJtmRgCdbEYAiXJeALV6RwC3dUsAh395AMZ6QQAsgzwAL4xAADCP
QgAykUQANZ5IAD+aUAA2oUoAOaZNADmrTgA9tlMAQqJTAEC+VwBKsl0ARb9bAF2WZwBXmWIAZ4NsAGSL
bAB6jX0AeJx/AE+9YwBbsGsAXL1vAHCyfABFwVwATMNiAFDFZgBUxmgAWchuAF/BcQBdyXEAbsJyAGLK
dQBlzHgAas18AL2DMADsgRsA6oodAPGEHwDziBgA+JAbAN+EMADSgDoA7IIhAO6GKgDviSwA9IYjAPWJ
JAD0jCsA+o0qAPWSIwD/lCIA9ZErAPyRLAD/mCkA54o2AOuIMQDvjjgA+I8yAOuUPwD+lTQA/Zg1APGS
PQD/lzoA/po7AJaFVAC0glQAlIllAIOGfgCkhm8ArYpsAL+RYwC7km0AqoxyALWPcACulH4AtZF0ANOK
SwDakEoAw4dSAMKFWgDYjlEA35RQANGTXgDfnF0A4o1CAO2YSwD+nUMA951JAP6dSgDkmFgA/aFEAP6i
TADupVYA/qRTAP+oVQD2p1wA/qpbAP+wXQDAk3gA1Z1zANujegDzpWAA969nAP6tYgDxrGsA/q9oAP+w
ZgD/uGQA/bJrAP+4bwDgp3UA9LN2APy1cQD9uHUA+rZ7APy6ewB/qYYAdr+EAG7PgAB3xYYAcc+CAHPQ
hAB30YgAe9OLAICdhQCFvI8AiL2SALyrigCosIoApLiLAKu3kQDIv5cA7beBAPu8gwD6vokAjcKXAIPW
kgCM2JoAkNqeAJbOoACU26EAmd2mAJ3eqQCh3qwArtuuALLQogC61KoAud20AKLgrQCo4rMAsuW7AP/A
gwD6wY0A98OWAPrDkwD6yJcA98OcAPjFmgD6yJsA98qkAPjKogD2zKsA+M2pAPvTqwD1zbEA9tGyAPvV
sQD11LwA9ti7APvZuAC66MIA9NbDAPXbxADz3MsA8tzSAMTrywDL7tIA1vHbAPPgzwDz4tQA+OLSAPLj
2gDz6NsA3fThAO7v7QDx5uEA8erjAPHs6gDl9ugA8vLmAO7t9QDv9vEA8fP0APD68gDx9fkA////AAAA
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
CAAAAAAAAAQAAAAAAAAAAAAAAAEAAAABAAAAAAAAJ3Q1AC97PgA+dUgAaW9qAJdAAAAAAAAArU8DALJN
BACtUwsAq1MUAKBZHAC7WxAAslkcAJNZLgC3ejoAw1kEAMBfEQDNYQMAyWEIANBkCgDSZg4A1WsMANlt
DQDGZxAAw2AaAMhqHQDYbxAA02gZANlyGQDlew8A7HsPAOdyEwDjehEA63kSAOt7FQDmfB4Az3orAN9/
LwCfclQAlHRfACyEPAAwj0IAMpVEADeVSAA1nkgAOatOADuwUQA/vFYAf5NYAEOiVABeh2YAWpVlAFeb
YwBOumIAXbxuAGugdQBhsXAAdrpyAHGzfgBBwFgASMJeAE3DYwBRxWYAVcZqAFnIbgBfwHEAXMlwAGDD
cgBiynUAZMl3AGrNfADxgB8AyoEgAM2DKwDrhSMA7IYrAPGFIAD1hSEA9owmAPuNJQD1iykA/I8qAPeU
LQD/kykA+JAsAP6SLQDtizcA/5QzAPSUPgD/kzkA+ZY7AP+XOgD/mTgA/5o+AP+lPADnvj0AnpVLAJuI
VgCegGUAnpFzALmEYwCyjGcArZF7ALeVdgCwlHoAmK9nAIW/eQDbi0EA3YxIAOeWQQDukUIA+JpCAP+d
QgD4m0QA/55FAPSZTQD9nUkA27RFAP+gRQD/qEMA9aRPAP6gSAD/pksA/6JMAP+kTgD/r08A76BaAP+i
UQD7pFMA/6ZSAP6mVAD/qFEA/6hUAP6nWwD/qVkA/qldAP+tXADHi2IAx5JhAMSWbwDcnWUA1J1uANmf
dADun2AA6qFhAPyrYgD+rmEA/q1lAP2sawD/tWIA/rBlAP+6YAD9s2sA/7RqAP2ybQD+tG0A56dyAOSo
dgDxrHIA8656APqwcAD+t3AA/rZ0AP24cQD9uHQA8bN6APCzfwD9uXgA/7l9APy8fQB7koAAfbmIAG/P
gQB0xYMAcM+BAHPQhAB804wAg4yFAJW6hgD7vYIA/byBAPq8hQD6uIsA+b6JAPm/jAD5vpQAi8yNAIPV
kgCP1JUAi9iaAJHangC+y5oAlNuhAJndpgCd3qkAo+CuAKbhsQCp4rQAruS4ALLlvAD9wYIA+sCLAPjB
kQD4wpUA+MaWAP3ElQD6y5YA+MacAPrJmwD8ypsA+M2ZAPrInwD/ypwA/9aVAPfJogD5yqIA/86iAPfK
qgD4y6oA+NGtAPfNtAD0x7sA9dGzAPjQtwD207oA9dq9APnYugC66MIA89bDAPLczADx2dMAxOvLAMzu
0gDU8dkA2fLeAPjhxQDy4dUA9eTZAP/41gDv4eMA8eThAPTt5ADy7OsA4PXkAOf36gDr+O0A8vfnAPLx
6gDu7PQA7fLzAO74/wDw9PwA+Pz+AAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABojI6d
pn8oZ4tpAAAAAAAAAAAAAAAAAAAAAAAAZmyCtdXZ1c7OkgUmqIdNYwAAAAAAAAAAAAAAAAAAACWEh5el
uLi1qKh6B1lxUiMLAAAAAAAAAAAAAAAAAAAIHV56hJeotaiohn1bcVZNFw4AAAAAAAAAAACrODlCZBIk
XnGEkqiqpZeSh4d9Vk0UJwAAAAAAADVFv8TGxsfASVhegoeltcq1qKiokoJeTxAAAAAAAAQ+sby/wcPB
wb1he4SSpbXMzrnKyaiokoRRBwAAAACyATxFr7HBwb+8wrN+l6i1ztDX083MzMq1l0wKAAAAAAAtPkWv
vr/Bv7/Bu3bNztDX3eXm4trX19WXG4oAAAAAADxHr76/w8PDwcHEatbc39/w+vnz5uHf34cTAAAAAAAA
Nry/v8PGxsbEweQ6YPf5/Pvz7uzl5vLcS48AAAAAAACsv8PExuTo6eTG5MYx7/362smXlXh5pnFtAAAA
AAAAAABFyOTp6/b29Ojo6mtimH2Sn6fVqEgikQAAAAAAAAAAADvI9vb16uTI5OvoLgAATBxPkaBMbwAA
AAAAAAAAAAAAAK/06MbCw8JDPz4AAAAZTX2ozZZwAAAAAAAAAAAAAAAAAERAPD+xvD43AAAAER5QX4aC
WFtWAAAAAAAAAAAAAAAAADQuR8TCQAAAAAAWT4eo1amHcVaNAAAAAAAAAAAAAAAAKj1HvK1HQwAADyCG
zeXe06hxTRoAAAAAAAAAAAAAAAI8scPDv7+/rgBKTcrn8e7jyXchDAAAAAAAAAAAAAAAK6/G5OTDxMEy
AG5S2vr28+a4XhYNAAAAAAAAAAAAAAAvwenr6cfGvisAAFbV8/Pz46hOEGUAAAAAAAAAAAAAADDE9PTq
yMFBAwAAerXl7t+SVhQJAAAAAAAAAAAAAAAARcLp6+i/QCkAAAAAl7fJl14jEwAAAAAAAAAAAAAAAAAA
v8bGvz4rMwAAAAAA2ZWCdJ4AAAAAAAAAAAAAAAAAAAAAxrytQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////8AP//wAA//4
AAP/8AAD/gAAA/AAAAfAAAAHgAAAB8AAAAfAAAAPwAAAD8AAAB/gAAA/4AGA//ADgP/4BwB//A8AP/wG
AD/4AgA/+AIAP/gDAD/4AwB/+AeA//wHwf/+H///////////////////KAAAABgAAAAwAAAAAQAIAAAA
AABAAgAAAAAAAAAAAAAAAQAAAAEAAAAAAAAcVCYAHlEoAB9cKgAnUC4ALGU2ACRsMQAzaT0AKXo4AEB3
SgBIc1AAAAAAAIUxAACfPgAAh0EeAKNBAAClQgAApEQAAKRIDQCwTAAAu0sAAL1SAAC/UAYAuFEMAMFO
AADIWgAA1VwAAN5eAADbYQoA4WIAAOZgAADoZQAA72gIAPJgAAD+ZwEA9GgBAPpsAQD/cAMA9XAIAPt5
DgD/dhAA+3kUAP95FQD1dhoA/3oaAP9+GgD/fx0AynkuANt2MwCYXEkAjnVOAJpmUACeclkAL4xAAD6I
SQA6jUkAM5hGADaVSAA6lUsANqJKADioTQA6rk8AP7xWAECaUQBOlVwARLdZAGePbgBipG4AbKN2AETB
WwBHwl4ASMJeAErDYABUxmkAXclxAGDKdABky3gAac17AGvOfQD/ghwA9IImAP+GIwD/iikA/44uAP+G
NAD/izEA/402AP+OOAD/lTsA/5M9AJCHVQC4jXoAlqFvAJyifgDViU8A1Y1bAP+UQgD/lkUA/5dKAP+b
SgD/nE4A7ZdZAP+dUgD/nlQA/6BUAP+iWQD/oFwA/6VcAP+qXADJmn4A0Jp0AOyfZADmnG0A7qNoAPWk
YwD/p2IA/6hhAP+rZAD1qW4A/6tqAP+rbwD/rG0A/7FsAO2sewD/sXQA/7V1AP+6cQD/tnkA/7V9AP+4
egBvz4EAcM+BAHvOhQBx0IMAddGGAHfSiAB604oAftSOAJuvggCqvooA/7eAAP+4gQD/uYUA/72JAP+/
kQCA1Y8Ak8+eAIDVkACH15YAitiYAI/anQCQ2p4Al8igAJPboACV3KIAmd2lAJ3eqQCn4rIAqOKzALPm
vAC05r0A/8CCAP/BhQD/x5oA/8WcAP/ImQD/yZ0A/86kAP/OrQD/2K8A/9K4AP/VuQC358AAuujCAP/d
xgD/3swAwuvKAMXszADR8NcA0vDYANTx2QDZ8t4A/+XRAP/o0wD/6tYA3fThAP/m4AD/7OAA/+7kAP/1
7QD/8/MA//bzAP/78wD/+vYA/vv6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAe3Jxb1A0ZXAAAAAAAAAAAAAAAAAAbiZgeY+NfFYPVikXAAAAAAAAAAAAAACK
Fi1WaHlzaFYtKR4MAAAAAAAAkpGRg0BaHi1UaHlzaWRZKRsOAAAAADpOk5uamjUyLVdoeY2NfHlpVxoz
AAAAAjxHSpORhkhdVml8j6SkkI+AaRQAAAAAB0ZJgpOVk5GLHKamqrzAtqioeRIAAAAAQoeHk5yck5mE
MaK/wsC6rre8K20AAAAAAIacm62zrJ2cXC+3gX58cxgnXwAAAAAAADeyubm1sLCsNwBeGiFkaCAAAAAA
AAAAAACarJqTkzhBAAAAEyVZYCgAAAAAAAAAAAAABQiCkzkAAAANImCAZE8eAAAAAAAAAAAAATxORkqY
AAAWbK6vgVMZAAAAAAAAAAAKO5mdkZo/AAAdqsC/p1EPAAAAAAAAAAAJTrKynJoGAAAjqb+9oh4MAAAA
AAAAAABEhrW1mUcEAAB2eqdzJQ9bAAAAAAAAAAAATJ6aPgMAAAAAAGlTMAAAAAAAAAAAAAAAAJWHQwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wD///8A//gHAP/AAwD/gAMA8AADAMAAAwCAAAcAgAAHAIAABwDAAA8AwBA/AOA4
PwDwcB8A8DAfAOAwHwDgMB8A4DAfAPB8fwD4//8A////AP///wAoAAAAEAAAACAAAAABAAgAAAAAAAAB
AAAAAAAAAAAAAAABAAAAAQAAAAAAACp1OAA5dkQAWntgAKA3AACsRgMApUsOAKFRJAC2cjkAw04KAMVV
AQDMWwIA1VAAANFXAQDRVQwA728GAP90CgDuehgA/3cRAP96EgDxdxoA/34aAONwIQDhdSsA9X4rAOV/
NQCUdEsAp2tBAKp3YQCxeWkA3n1FACuCOgAphDkALKhCAFuVVgBLsl4AcZl4AE+1YwBdtW0AeKlnAE7M
ZQBV120AYst2AG7BfgBo03wA6oY8AP+ONAD/jDwAmq10ANmGTQD/mEUA/5xGAP+eSgD/nkwA/6FHAP+g
SQD/oVYA/6RaAN+BYQDom2IA4JxrAPmkYgD/p2UA/6lmAP+oaAD7qW4A/7ZgAP+ybwD/uGgA/61xAP+0
cwD/tHgAdsiFAH/BjwBr1IQActqEAHfTigBx1YkAetmLAIGtjQD/toIA/7+CAP+4hgD/v44AgtqPAILV
kQCE1pIAg9eUAIbWlQCJ2JgAj9+eAIXhnQCa3aYAqNKvAJPjogCW4aMAkemhAJblrQCi4K4AqOKzAK3w
uQD/xpsA98ajAPzOrAD/0bAA/9/IAMnu0ADO7tYAzfPTAP/hzQD/5NQA//HbAOb26ADl+egA7PrvAP/2
7QD/+O0A7f3wAP/+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@ -191,65 +321,13 @@
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
kwCS1YsAkdGHAJnGgQC7u7sAtrGpAKqqqgChoaEAoJuPAJubmwCZmJQAk5OTAJuWigCXlIwAjIyMAIKC
ggDxtH8A9rZ1AO+xewDnsHoA6616AOytdQDkp3EA7KFsAPyrWAD3pV8A/6lJAOmfagDpm2YA451sAOKZ
ZADikmIA+JRHAPGTSwDsnV4A45JeAOSJUgDqjEQA4oFGANyZYADblGgA3Y5cAN2JVQDbhlMA2YJPANKI
TQDXgEwAyYdXAP+cNwD/jDQA/pAcAP+CHQD/iw0A/4QBAILPfQCgh3gA4nw9AO97KwDjcC0A/3ITAP98
AQD/dgEA82wTAP9sAQD/ZgEA82AHAO9rGADnaRwA5F4KAN1pJgDbZiQAy2MuAMVZKADXXBoAylgSAJd3
ZQCJZ1MAhVpAAKVTIACyVBwAnmQ/AJxTJwCXWC0AiFQ0AG/h9gBv1/UAUdL5AFn/gABsvOkAbLXqAGuz
4wB6uN8ATrLwAFOR0wBcg8QAC9n/AAHZ/wAB1/8AAcv/ACSp+AABu/8AC6D+AAGr/wAWm/kACpT8AAGd
/wBP6WwARtNYACb8VgAk81AAI/FNAB3hQAAc4D4AG9s8ABfPMQAVyy4ANawxAC+4NgAQvCEAFKscAA+6
HwAOtx0ACakSAAimEAAZnhgAJHTmABh88AALbvgAC2H4AAFo/wABWv8AAVf/AAFL/wABQP8AATz/AAEx
/wABL/8Aenp6AHFxcQB4cGwAbm5uAGdnZwB8WkYAa1NEAFtbWwBbVFAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/hkdGf7+/v7+/v7+GRwW/v7+/v7+/v7+/v7+/v7+/v4/it3cXllXHBkcV1qe
3mEc/v7+/v7+/v7+/v7+/v7+/o2Ul6Km4eDf3Z+jgGiC5GJX/v7+/v7+/v7+/v7+/v7+nJuamZaVkZGM
eEcfcHxM4t1aHP7+/v7+/v7+/v7+/nB2QTk5OTk5OTk5JR+AcDFJpePcXFf+/v7+/v7+/v7+mEE5OTk5
OTk3NyAgOX5lJicneKHi4NxhWh3+/v7+/i2LNYiPkpKSMzMzIB98bjUoEQ0LMoSRnaSgXhb+/v7+cm8z
iJCTj4gzc3M2IH9jRicOFAwECkGEjpdiFv7+/v6YQW2PkpKIazM2ICBmcUYpeyesuKgGAQUyel8H/v7+
L4s1h5CTkJAzZ3M2Hn1oKXApJ7q5tbKpTw1LX/7+/v53bzWDhoaFazMzMyEzdilDCSdNvLeztbm6EWAZ
/v7+/pg1NTU1NTU1Z2cwH2lxKShKCa+5tbS3vK4+X/7+/v5EeTXR1tna17EzM0EhfUINDQ4Jtreztbm7
GlsZ/v7+/n1qWNTX29jVM3RkJDlxKUYODVEFp7K3vK07X/7+/v7+mDWw1dna19AsLCwfcUNGLkYJyr4V
AE6rG18c/v7+/kB5ONLX2tnVNXVsNSxxRgtwJ1XLxL+9UzwrX/7+/v7+RmpY09na19AsLDc6GEgLRgsL
yMbBwMXNUl0c/v7+/v7+NTU1NTVCY2dFEgIAA0gLJz3Jw7/Cy8cqXf7+/v7+/v7+/g8iIhAL/v7+/v7+
/kgLVMXBwcbOVl0d/v7+/v7+/v7+/v7+/v7+/v7+/v7+/kgIUKrEzM8RXQf+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/khISBOJUksc/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+SEg0FP7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////H+P//gA
B//4AAP/+AAA//AAAD/wAAAD4AAAAeAAAAHgAAABwAAAA8AAAAPAAAAHgAAAB4AAAA+AAAAPAAAAHwAA
AB+AAAA/4P4AP///AD///4B////w////////////////////////////KAAAACAAAABAAAAAAQAYAAAA
AACADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA8PUZCBi0xAAAAAAAAABsQN0dHOBQVDQAAAFhYTSIKEi9APzg3EwUAAylYX1snCDY9UlNQRTIHAAEo
KlhNVBpEaG5zbWk5HAAkYFhjYmEwOv90bmZnFwAAAF5ycGtsSgA7ETcZHgAAAABdZFlZJkkAHQ0uLkAA
AAAAAAIhLCUAAAk3ZTcPAAAAAAAfV1hLAAAWb/9SCwAAAAAAK3VrS08AGHN0NgQAAAAAAEhxXh8AAABD
Mg4AAAAAAAAATiMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP8BAAD8AQAAwAEAAAAB
AAAAAQAAAAMAAIEHAACBBwAAwwcAAMMHAADBBwAAw48AAOf/AAD//wAAKAAAADAAAABgAAAAAQAgAAAA
AACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@ -257,42 +335,6 @@
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
@ -300,9 +342,282 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////H+P//gA
B//4AAP/+AAA//AAAD/wAAAD4AAAAeAAAAHgAAABwAAAA8AAAAPAAAAHgAAAB4AAAA+AAAAPAAAAHwAA
AB+AAAA/4P4AP///AD///4B////w////////////////////////////
AAAAAAAAAAAAAAAAAAAAAAAAAgICAQICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAACAgIMBgIAJCUQAUNBJAhiUC8Rem4/F42JTyCej1Ump55kL7KnZyi4azUIkQkDACcTCgMXUiwJdDoe
A14OBwAzAgICDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIC
AgMRBwAqPx0CY3pCEZ2zZSHG3IpA6fOkXfr/t3P//8GG///Ej///xZP//8eW///Jmv//w4z/6Hoa/2Mn
AOR8Oge+/6xe//6pWP/hiDnzolcWyUYhAX8CAgIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAACAgISOhsBYpNPDbXdeyHt/51B//+yaf//wID//8OM//zHl//5yJz/98Oa//fDlv/4wZP/+MCP//nA
jv//vXz/3XYd/30xAP/PbBv//7Jp//+sXv//qlj//6JL//aGIP+JQQXKCQQBMQICAgQAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAICAgeVSgeu94kh//+hR///qVf//6xh//6zbP/7uXr/+72C//m/jP/4wI//+b+M//u+
iP/7vYL//L1///27ef//smf/2nMa/2srAP/riDH//6hX//+eQ///ljT/9Ykl/+J4FP/SaAr/HAwCfAIC
AiwCAgIOAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAOhgDXzARAJ3CZBTq/5s+//+fQ///okv//6hU//6rXv/9smv//Lh4//u8
hP/7vYj/+72C//y8ff/9uXn//LV0//6uZv//p1b/538j/69PBf//nkP//55I//+WNP/5jSn/74Ih/9Ro
Dv+3VAP/Gw0BhgICAkoCAgIoAgICDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBwMXz2kT75s9AP/OaRT9/5Qy//+ZOv//nET//6NM//+p
WP//rmH//bVx//u8fv/8vX//+7t8//25d//9tXH//a1l//+rW///pFL//5o///2ZO///oUj//5k6//2S
K//0hyb/6X8b/8xjCv+qSAD+FwoBagICAjcCAgImAgICFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAUPBwgFDwceBQ8HNQUPB04FDwdjBQ8HdAcVCn4WGwyH2HET/7JMAv/VbhX//pIu//+X
Nv//nkD//6FK//+nVv/+rWD//bNt//y6e//8vH3//Lp4//22df/+sWr//q5i//6rXv//qVv//6ZT//+n
VP//n0j//5g3//qOKv/yhST/5HgY/8ZeCP+fQgDwFQkAPQICAhkCAgITAgICCgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAUPByAFDwdUEjUYjyd0Nb9EwVvhbM5+9YHVkP6N2Zv/idiY/5bco/+2qnXApGAt/9Bq
Bv/lex3//5Yx//+ZOf//nkP//6VM//+pWP/+rGL//rVw//u6fv/8vX//+7t6//25d//+uHT//7Rt//6v
aP/+rmL//6tf//+rW///o03//5s9//2RLf/0iib/4nkW/7xXBP+YPADaFQcBFAICAgUCAgIEAgICAQAA
AAAAAAAAAAAAAAUPBwEFDwdKFkEepjquT+dszn7/ftSO/43Zm/+W3KP/nN6o/5vep/+Z3ab/ldyi/6Hg
rf+oyZTKk2M7//OIGP/+ki7//5c6//+cRP//o03//6hX//+sYP/9s23//bt5//q8hf/7voj//LuD//u7
gP/8unv//Lp4//24df/+s3D//bBp//6vZP//qFf//6BH//+ZN//6kCz/4HgW/7RNAP92LQC5AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAABQ8HBwUPB1Y/vVb8b8+B/3jSif+D1pL/hteV/4nYmP+S25//ltyj/5Xc
ov+Q2p7/j9qd/5PboP+f3qr5jYFa7viQG///m0D//55G//+kT///qVj//65h//+1bf/+unj/+72C//nA
jv/4wI//+b+M//q/if/8vYX//LyB//u6fv/9u3n//bl3//21c//+rmL//6ZU//+fR///mDT/2HES/6ZE
AP+JMwCHAAAAAAAAAAAAAAAAAAAAAAAAAAAFDwcUDy0VuA4qE99Txmj/ac17/2/Pgf9604r/ftSO/37U
jv+M2Zr/k9ug/5Lbn/+N2Zv/h9eW/4rYmP+e36r/iqRpxeqKHf//o0z//6hU//+sXP/9rWX//rdw//y6
e//7voL/+cGM//nGlv/4x5n/98OW//nDkv/5wo7/+sCL//u+iP/8vYX//LyB//26fv/9tHH//6xg//+m
VP//lzX/y2IL/6BAAP+WOQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAFDwdFOKhN/yBgLP9OxGT/Y8t2/2vO
ff9y0IP/e9OL/4HVkP+K2Jj/j9qd/43Zm/+H15b/hteV/4DVkP+V3KL/ncSJx72DMP//qVL//69k//2z
bf/9uHf//b1+//q9h//5wo7/+MSX//jJof/5zKL/+Mmf//jInf/4xZn/98OW//nDkv/4wI//+cGM//q/
if/7vH7//bVx//+vYf/3kS//v1oF/6JDAO2XNwAUAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQo3NZ5I/iyD
PP9RxWb/Y8t2/2vOff910Yb/e9OL/4HVkP+K2Jj/j9qd/43Zm/+K2Jj/h9eW/37Ujv+P2p3/pN+s9pOB
Tvb/o0L//rl2//u8fv/7voT/+b+M//jDk//5yJr/+Mqj//bMrf/2z7H/9NKz//TSs//3z67/98qk//nJ
nP/4xp3/+MWZ//fDlv/5wYz/+76E//+xaP/rgSH/uVUD/6FDAKUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAndDUZNJtH7UrDYP9dyXH/ac17/3LQg/940on/gNWQ/4PWkv+M2Zr/kNqe/5PboP+P2p3/jNma/4rY
mP+D1pL/oeCt/5Skc8fzkSj//7t8//nBkP/5xJT/+Meb//fLov/4zKn/9tGx//XXwP/z3M//+OLS//Lg
2P/y3dT/9ta///fQsP/3zKz/9smp//fKpv/4xp3/+cOS//+qXP/ccBD/tlMC/6VCAEIAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAlbzMBNZ5IzmDKdP9rzn3/ddGG/3rTiv+D1pL/g9aS/43Zm/+Q2p7/ltyj/5bc
o/+W3KP/k9ug/5Lbn/+B1ZD/nN6o/63Xp9i1ez///7Bd//jLof/2zKn/9s6t//bStf/11rz/9NvK//Lo
3v/w7eb/8+vn//Hs5//x6eX/8uLY//bYwf/20rX/99Cy//fRtP/30LD/+8WS//yfRP/SaAr/tE4Cv6dG
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL41AlWLLdf940on/fdSN/4HVkP+K2Jj/jNma/5Pb
oP+W3KP/nt+q/5zeqP+W3KP/ltyj/5bco/+H15b/ltyj/7PmvP+QmmnG9ZIj//vKnP/21rv/9drE//Ti
1P/x5Nv/8ujg//Hu6f/u7+3/8evt//Ly5v/x5+P/8uba//Pcyf/12sT/9drI//Tezv/22cP//Lp7/+uC
H//JYAf7sE4APAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYc+UFPGaP+A1ZD/g9aS/4zZ
mv+P2p3/ldyi/5ndpv+h4K3/qOKz/6jis/+n4rL/oeCt/57fqv+T26D/ldyi/7Hlu/+j16PgpHA5/P+4
ZP/z4M//8e3j//Hv6//y8vL/7/Py/+7t9f/x5+P/89zG//bSu//20bH/+dCu//jPq//217n/9ejZ//Lo
4P/407P/951J/91xDf+8VQiJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKXs4ET23
U+eA1ZD/j9qd/5PboP+W3KP/nN6o/6XhsP+t5Lf/uujC/8Pryv/G7M3/venF/7Dluv+l4bD/pOGv/6rj
tf+z5rz/qJFmwtKAOv/92rj/8PX4//L1+v/w9Pb/8+nb//XKsP/+vHr//6VV//6iTP//pU3//59D//6d
OP/6o1L/97V2//i7f//6oVL/6n4a/8xiCrW5UQcFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADCPQpFvz4H/ltyj/6Hgrf+n4rL/reS3/7fnwP/M7tL/2/Pf/+H15f/n9+r/4PXk/8zu
0v+56ML/sOW6/6rjtf+86cT/qt6v7Jh2XODupVb//9ew//jOq//4tXn//JpM//+wZf/+xpH//9io//fU
vv/04dL/+s2p//qlVP/jcxH/2GgG/++BGf/xhB//2GwOtchXAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAACZxNCc/vVb3ldyi/7Tmvf+96cX/z+/V/9fy3P/h9eX/7Pnu//D6
8v/v+vH/5Pbn/9fy3P/J7dD/w+vK/8nt0P/L7tH/oeCt/2C8ZOd8Ykvk64Me+/+UIv//mCn//69p//iw
bv/pl1f/65Q//+2YS//xqmn/8bF2//m0cf//oU7/9Y0l/+6EJvrdeBGHz2MJBQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxkkONctCD/7zpxP/h9eX/6vjt/+z5
7v/s+e7/6fjs/9fy3P/L7tH/uujC/7bnv/+05r3/yO3P/+D15P/G7M3/fdSN/zmrTv85bUtxvWEgNPeP
Fs39kTP8128Z/9BcAP/uehj/+Jg0//anXP/3r2f/8ZI9/95uEv/heR327IQcpN9yEzcAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfTkPO7BR063k
t//w+vL/8vv0/+b36f/J7dD/qOKz/4zZmv9+1I7/fdSN/2/Pgf9rzn3/h9eW/5ndpv+J2Jj/SMJe/zCQ
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
AAAAAAAA/pQuQ/2XOa39nUXq/J1I+/+fQP/5jy/25HcW28dgB42sUQAhAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAVsdrCXHQg5GE1pP7h9eW/4fXlv9704v/ctCD/1DFZv83pEv6JGwxlRpNIwgAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzhSMT7oAeMeqBHD3ecRAozVwFCAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjy3YyX8pziGjNe75lzHjRTsRkwDaiSoUlbzMyAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
/////wAA////////AAD///////8AAP///////wAA/////x//AAD///+AAD8AAP//+AAADwAA///gAAAD
AAD//8AAAAAAAP//gAAAAAAA//8AAAAAAAD/gAAAAAAAAPwAAAAAAAAA4AAAAAAPAADAAAAAAA8AAIAA
AAAADwAAgAAAAAAPAACAAAAAAB8AAIAAAAAAHwAAgAAAAAAfAADAAAAAAD8AAMAAAAAAfwAAwAAAAAB/
AADgAAAAAP8AAOAAAAAB/wAA8AAAAAf/AADwAAGAD/8AAPgAAwAH/wAA/AAGAAP/AAD+ABwAA/8AAP8A
HAAB/wAA/gAMAAH/AAD8AAQAAf8AAPwABAAB/wAA/AAEAAH/AAD8AAQAAf8AAPwABAAD/wAA/AAGAAP/
AAD8AAYAB/8AAP4ADwAP/wAA/gAPwB//AAD/AB/wf/8AAP/Af////wAA////////AAD///////8AAP//
/////wAA////////AAD///////8AACgAAAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYCABUyGgNGZDsTeJFcLKWzd0TEzIpR1OSb
Xt/wq2rk7pZI5VUiAKBtOxKOt3MzxXZGGZMpEwNLAgICAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkUATyHShCi134r5P+lUf//vYH//8qc///O
ov//y5z//cWU//3FlP/8q2L/l0AA/99/L///unj//6la//CEIP9hMAScAgICDwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAwYbDABRymwU5v+oUf//q13//7Bm//24
df/6vYf/+L6L//u9gv/8vH3//rZ0//6gSP+tTwP/9JQ+//+dQ//8jyr/63sV/5ZIBOYCAgJNAgICFgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAEIzMTYLJNBP/Zchn//5s+//+e
Rv//qFT//LBm//27ef/9vX7//Lp4//2zbf/+qV7//6VN//mWO///n0X//pIu//KGIv/ZbQ3/fDUA0QIC
AjsCAgIgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAtAgUDYhU+HY8ndTWuNJtHxjyzUtGGdlHMzWED/+Z8
Hv//mjj//59E//+nU//+r2L//rl4//y9ff/+unT//rRs//6tZP//ql3//6pa//+fR///ki3/8YUh/9Bk
Cv9wLQCrAgICCQICAggAAAAAAAAAAAAAAAEFDwdyK4E7yl3JcfiP2p3/pOGv/6rjtf+o4rP/ruS4/6m6
ecDKgSD//5Yx//+dQv//pE///qle//63cP/7vIT/+76I//y8gf/8unv//bh1//20b//+sGb//6ZU//+a
Pv/2jCb/xFkE/1UhAHwAAAAAAAAAAAAAAAAAAAAjBQ8HmU7EZP9604r/g9aS/4zZmv+W3KP/nN6o/5Xc
ov+W3KP/h9GO7puSRfb/pkv//6ZU//+uYf/9uHH//LyB//i/k//4wpX/+b+M//vBiP/7voT//L1///25
ef/+rmb//6ZV//WLK/+vSwD/ijMARgAAAAAAAAAAAAAAAAkaDIAndDX/QcBY/2PLdv9x0IP/gdWQ/5Lb
n/+T26D/jdmb/4TWk/+Y3aX/dqZjxf+vT//+tm7//Lp4//q8hf/5w5L/+Mef//nKov/6zJf/+MWZ//jB
k//4wI//+cCO//y8ff//tGr/6YIj/6RFAOuYOAASAAAAAAAAAAAAAAAAHlkpaDWeSP9OxGT/Y8t2/3TR
hf+E1pP/k9ug/5bco/+S25//idiY/5vep/90wnbT27RF//u+lv/5wZD/+MaX//nKov/3zbT/9NfD//Lc
zP/31r7/98qq//fKpP/3yKD/+caW//+1bv/YbxD/pUQAnQAAAAAAAAAAAAAAAAAAAAAkazE6QsBZ/2vO
ff910Yb/hNaT/5Lbn/+e36r/n9+r/5zeqP+V3KL/ktuf/6Thr/+BnUXQ/9aV//jSr//00LP/+NC3/+/h
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
PeLyhCjTz2ULj6RNAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAFrIbiRvz4GddNGF3WbMee48tFLQJW8zeRhIIQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA634ZCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA///////////////////////+AAP/+AAB/+AAAP+AAADwAAAAwAAAA4AA
AAOAAAADgAAAB4AAAAeAAAAPwAAAD8AAAB/gAAB/4AEAf/ACAD/4BgA/+AIAH/ACAB/wAAAf8AAAP/AA
AD/wAwB/+AOA//wH9/////////////////8oAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
</value>
</data>
<metadata name="ToastNotificationsManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -312,14 +627,14 @@
<value>847, 17</value>
</metadata>
<metadata name="ImageListDebugTree.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
<value>996, 17</value>
</metadata>
<data name="ImageListDebugTree.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABU
CwAAAk1TRnQBSQFMAgEBBQEAAXABAAFwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CwAAAk1TRnQBSQFMAgEBBQEAAYABAAGAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -36,6 +36,7 @@ Partial Public Class frmAdmin
' === Register As Event Listener ===
EventBus.Instance.Register(Me)
ribbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Red
End Sub
Private Sub Init_Completed(sender As Object, e As EventArgs)

View File

@ -24,8 +24,8 @@ Partial Class frmFlowForm
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.SucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.FlowFormTest1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.SucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ContextMenuStrip1.SuspendLayout()
Me.SuspendLayout()
'
@ -33,26 +33,26 @@ Partial Class frmFlowForm
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SucheToolStripMenuItem, Me.FlowFormTest1ToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 70)
Me.ContextMenuStrip1.Size = New System.Drawing.Size(161, 48)
'
'FlowFormTest1ToolStripMenuItem
'
Me.FlowFormTest1ToolStripMenuItem.Name = "FlowFormTest1ToolStripMenuItem"
Me.FlowFormTest1ToolStripMenuItem.Size = New System.Drawing.Size(160, 22)
Me.FlowFormTest1ToolStripMenuItem.Text = "FlowForm Test 1"
'
'SucheToolStripMenuItem
'
Me.SucheToolStripMenuItem.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.Find_5650
Me.SucheToolStripMenuItem.Name = "SucheToolStripMenuItem"
Me.SucheToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.SucheToolStripMenuItem.Size = New System.Drawing.Size(160, 22)
Me.SucheToolStripMenuItem.Text = "Suchen"
'
'FlowFormTest1ToolStripMenuItem
'
Me.FlowFormTest1ToolStripMenuItem.Name = "FlowFormTest1ToolStripMenuItem"
Me.FlowFormTest1ToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.FlowFormTest1ToolStripMenuItem.Text = "FlowForm Test 1"
'
'frmFlowForm
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(230, 174)
Me.ClientSize = New System.Drawing.Size(584, 487)
Me.Name = "frmFlowForm"
Me.Text = "frmFlowForm"
Me.ContextMenuStrip1.ResumeLayout(False)

View File

@ -56,6 +56,7 @@ Public Class frmFlowForm
EventBus.Instance.Register(Me)
' === TESTING Actions ===
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)
SucheToolStripMenuItem.Visible = False
@ -68,6 +69,7 @@ Public Class frmFlowForm
End If
My.DTAttributes = My.Database_IDB.GetDatatable("SELECT * FROM TBIDB_ATTRIBUTE")
End Sub
Private Sub frmFlowForm_Closed(sender As Object, e As EventArgs) Handles Me.Closed
@ -128,7 +130,7 @@ Public Class frmFlowForm
Case OnFlowFormStateChangedEvent.FlowFormState.HasFileDropped
SetBitmap(My.Resources.GLOBIX_GEFUNDEN_klein)
Case Else
SetBitmap(My.Resources.ZOOFLOW_Home_klein)
SetBitmap(My.Resources.ZOO_FLOW_Hintergrund)
End Select
End Sub

View File

@ -22,78 +22,40 @@ Partial Class frmFlowForm_Test1
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmFlowForm_Test1))
Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton()
Me.SimpleButton2 = New DevExpress.XtraEditors.SimpleButton()
Me.SuspendLayout()
'
'SimpleButton1
'
Me.SimpleButton1.Appearance.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton1.Appearance.BorderColor = System.Drawing.Color.Transparent
Me.SimpleButton1.Appearance.Options.UseBackColor = True
Me.SimpleButton1.Appearance.Options.UseBorderColor = True
Me.SimpleButton1.AppearanceDisabled.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton1.AppearanceDisabled.Options.UseBackColor = True
Me.SimpleButton1.AppearanceHovered.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton1.AppearanceHovered.BorderColor = System.Drawing.Color.Transparent
Me.SimpleButton1.AppearanceHovered.Options.UseBackColor = True
Me.SimpleButton1.AppearanceHovered.Options.UseBorderColor = True
Me.SimpleButton1.AppearancePressed.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton1.AppearancePressed.BorderColor = System.Drawing.Color.Transparent
Me.SimpleButton1.AppearancePressed.Options.UseBackColor = True
Me.SimpleButton1.AppearancePressed.Options.UseBorderColor = True
Me.SimpleButton1.ImageOptions.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_ZOO_FLOW_Search
Me.SimpleButton1.ImageOptions.Location = DevExpress.XtraEditors.ImageLocation.MiddleCenter
Me.SimpleButton1.Location = New System.Drawing.Point(69, 12)
Me.SimpleButton1.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.UltraFlat
Me.SimpleButton1.LookAndFeel.UseDefaultLookAndFeel = False
Me.SimpleButton1.ImageOptions.SvgImage = CType(resources.GetObject("SimpleButton1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.SimpleButton1.Location = New System.Drawing.Point(126, 162)
Me.SimpleButton1.Name = "SimpleButton1"
Me.SimpleButton1.PaintStyle = DevExpress.XtraEditors.Controls.PaintStyles.Light
Me.SimpleButton1.ShowFocusRectangle = DevExpress.Utils.DefaultBoolean.[False]
Me.SimpleButton1.ShowToolTips = False
Me.SimpleButton1.Size = New System.Drawing.Size(65, 61)
Me.SimpleButton1.Size = New System.Drawing.Size(75, 23)
Me.SimpleButton1.TabIndex = 0
'
'SimpleButton2
'
Me.SimpleButton2.Appearance.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton2.Appearance.Options.UseBackColor = True
Me.SimpleButton2.AppearanceDisabled.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton2.AppearanceDisabled.Options.UseBackColor = True
Me.SimpleButton2.AppearanceHovered.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton2.AppearanceHovered.Options.UseBackColor = True
Me.SimpleButton2.AppearancePressed.BackColor = System.Drawing.Color.Transparent
Me.SimpleButton2.AppearancePressed.Options.UseBackColor = True
Me.SimpleButton2.ImageOptions.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_ZOO_FLOW_Person
Me.SimpleButton2.ImageOptions.Location = DevExpress.XtraEditors.ImageLocation.MiddleCenter
Me.SimpleButton2.Location = New System.Drawing.Point(69, 119)
Me.SimpleButton2.Name = "SimpleButton2"
Me.SimpleButton2.PaintStyle = DevExpress.XtraEditors.Controls.PaintStyles.Light
Me.SimpleButton2.ShowFocusRectangle = DevExpress.Utils.DefaultBoolean.[False]
Me.SimpleButton2.ShowToolTips = False
Me.SimpleButton2.Size = New System.Drawing.Size(65, 69)
Me.SimpleButton2.TabIndex = 0
Me.SimpleButton1.Text = "SimpleButton1"
'
'frmFlowForm_Test1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.SystemColors.Control
Me.BackgroundImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._0_ZOO_FLOW_Hintergrund
Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
Me.ClientSize = New System.Drawing.Size(200, 200)
Me.Controls.Add(Me.SimpleButton2)
Me.BackgroundImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZOO_FLOW_Hintergrund
Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.ClientSize = New System.Drawing.Size(221, 235)
Me.Controls.Add(Me.SimpleButton1)
Me.DoubleBuffered = True
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "frmFlowForm_Test1"
Me.Text = "frmFlowForm_Test1"
Me.TopMost = True
Me.TransparencyKey = System.Drawing.Color.Fuchsia
Me.TransparencyKey = System.Drawing.SystemColors.Control
Me.ResumeLayout(False)
End Sub
Friend WithEvents SimpleButton1 As DevExpress.XtraEditors.SimpleButton
Friend WithEvents SimpleButton2 As DevExpress.XtraEditors.SimpleButton
End Class

View File

@ -117,4 +117,31 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="DevExpress.Data.v19.2" name="DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="SimpleButton1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFAEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJBdWRpdF94NUZfQ2hh
bmdlSGlzdG9yeSI+DQogICAgPHBvbHlnb24gcG9pbnRzPSIxNiwxNiAxNiwxMCAxNCwxMCAxNCwxOCAy
MiwxOCAyMiwxNiAgIiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHBhdGggZD0iTTE2LDJDMTEuNiwyLDcu
Nyw0LDUuMiw3LjJMMiw0djEwaDAuMmg0SDEybC00LTRjMS44LTIuNCw0LjctNCw4LTRjNS41LDAsMTAs
NC41LDEwLDEwYzAsNS41LTQuNSwxMC0xMCwxMCAgIGMtNC44LDAtOC45LTMuNC05LjgtOGgtNGMxLDYu
OCw2LjgsMTIsMTMuOCwxMmM3LjcsMCwxNC02LjMsMTQtMTRTMjMuNywyLDE2LDJ6IiBjbGFzcz0iQmx1
ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
</root>

View File

@ -22,8 +22,8 @@ Partial Class frmSearchStart
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSearchStart))
Dim WindowsUIButtonImageOptions1 As DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions = New DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItemNewSearch = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
@ -32,13 +32,16 @@ Partial Class frmSearchStart
Me.RepositoryItemRadioGroup1 = New DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.BarEditItem2 = New DevExpress.XtraBars.BarEditItem()
Me.RepositoryItemComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox()
Me.BarStaticItemInfo = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.cmbProfile = New System.Windows.Forms.ComboBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.WindowsUIButtonPanel1 = New DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel()
Me.XtraTabControl1 = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage()
@ -50,33 +53,41 @@ Partial Class frmSearchStart
Me.XtraTabPage8 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage9 = New DevExpress.XtraTab.XtraTabPage()
Me.XtraTabPage10 = New DevExpress.XtraTab.XtraTabPage()
Me.TokenEdit1 = New DevExpress.XtraEditors.TokenEdit()
Me.GridControlSerchTerms = New DevExpress.XtraGrid.GridControl()
Me.ContextMenuStripSearchTerms = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.tsmOperator = 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()
Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemRadioGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl1.SuspendLayout()
CType(Me.TokenEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControlSerchTerms, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuStripSearchTerms.SuspendLayout()
CType(Me.GridViewSearchTerms, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControlSearch, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControlSearch.SuspendLayout()
Me.ContextMenuStripMultiselect.SuspendLayout()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.AutoSizeItems = True
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItemNewSearch, Me.BarButtonItem2, Me.BarHeaderItem1, Me.BarEditItem1, Me.BarButtonItem1, Me.BarButtonItem3})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItemNewSearch, Me.BarButtonItem2, Me.BarHeaderItem1, Me.BarEditItem1, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarEditItem2, Me.BarStaticItemInfo})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 7
Me.RibbonControl1.MaxItemId = 9
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemRadioGroup1})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemRadioGroup1, Me.RepositoryItemComboBox1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(874, 150)
Me.RibbonControl1.Size = New System.Drawing.Size(1070, 150)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItemNewSearch
@ -126,9 +137,28 @@ Partial Class frmSearchStart
Me.BarButtonItem3.Id = 6
Me.BarButtonItem3.Name = "BarButtonItem3"
'
'BarEditItem2
'
Me.BarEditItem2.Caption = "Suchen"
Me.BarEditItem2.Edit = Me.RepositoryItemComboBox1
Me.BarEditItem2.Id = 7
Me.BarEditItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarEditItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarEditItem2.Name = "BarEditItem2"
'
'RepositoryItemComboBox1
'
Me.RepositoryItemComboBox1.AutoHeight = False
Me.RepositoryItemComboBox1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.RepositoryItemComboBox1.Name = "RepositoryItemComboBox1"
'
'BarStaticItemInfo
'
Me.BarStaticItemInfo.Id = 8
Me.BarStaticItemInfo.Name = "BarStaticItemInfo"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start"
'
@ -140,12 +170,19 @@ Partial Class frmSearchStart
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarEditItem2)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Auswahl Suche"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemInfo)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 574)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(874, 27)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1070, 27)
'
'Panel1
'
@ -157,7 +194,7 @@ Partial Class frmSearchStart
Me.Panel1.Location = New System.Drawing.Point(0, 150)
Me.Panel1.Margin = New System.Windows.Forms.Padding(2, 3, 2, 3)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(874, 57)
Me.Panel1.Size = New System.Drawing.Size(1070, 57)
Me.Panel1.TabIndex = 5
'
'cmbProfile
@ -168,7 +205,7 @@ Partial Class frmSearchStart
Me.cmbProfile.FormattingEnabled = True
Me.cmbProfile.Location = New System.Drawing.Point(3, 23)
Me.cmbProfile.Name = "cmbProfile"
Me.cmbProfile.Size = New System.Drawing.Size(869, 21)
Me.cmbProfile.Size = New System.Drawing.Size(1065, 21)
Me.cmbProfile.TabIndex = 2
Me.cmbProfile.ValueMember = "DOKART_ID"
'
@ -182,19 +219,6 @@ Partial Class frmSearchStart
Me.Label1.TabIndex = 1
Me.Label1.Text = "Bitte wählen Sie ein Profil:"
'
'WindowsUIButtonPanel1
'
Me.WindowsUIButtonPanel1.AppearanceButton.Hovered.BackColor = System.Drawing.Color.LightBlue
Me.WindowsUIButtonPanel1.AppearanceButton.Hovered.Options.UseBackColor = True
WindowsUIButtonImageOptions1.Image = CType(resources.GetObject("WindowsUIButtonImageOptions1.Image"), System.Drawing.Image)
Me.WindowsUIButtonPanel1.Buttons.AddRange(New DevExpress.XtraEditors.ButtonPanel.IBaseButton() {New DevExpress.XtraBars.Docking2010.WindowsUIButton("Suche ausführen", True, WindowsUIButtonImageOptions1, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, True, Nothing, True, False, True, "Run", -1, False)})
Me.WindowsUIButtonPanel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.WindowsUIButtonPanel1.Location = New System.Drawing.Point(0, 506)
Me.WindowsUIButtonPanel1.Name = "WindowsUIButtonPanel1"
Me.WindowsUIButtonPanel1.Size = New System.Drawing.Size(874, 68)
Me.WindowsUIButtonPanel1.TabIndex = 9
Me.WindowsUIButtonPanel1.Text = "WindowsUIButtonPanel1"
'
'XtraTabControl1
'
Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill
@ -202,140 +226,179 @@ Partial Class frmSearchStart
Me.XtraTabControl1.Location = New System.Drawing.Point(0, 0)
Me.XtraTabControl1.Name = "XtraTabControl1"
Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPage1
Me.XtraTabControl1.Size = New System.Drawing.Size(449, 299)
Me.XtraTabControl1.Size = New System.Drawing.Size(750, 310)
Me.XtraTabControl1.TabIndex = 12
Me.XtraTabControl1.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2, Me.XtraTabPage3, Me.XtraTabPage4, Me.XtraTabPage5, Me.XtraTabPage6, Me.XtraTabPage7, Me.XtraTabPage8, Me.XtraTabPage9, Me.XtraTabPage10})
'
'XtraTabPage1
'
Me.XtraTabPage1.Name = "XtraTabPage1"
Me.XtraTabPage1.Size = New System.Drawing.Size(447, 274)
Me.XtraTabPage1.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage1.Text = "Search#1"
'
'XtraTabPage2
'
Me.XtraTabPage2.Name = "XtraTabPage2"
Me.XtraTabPage2.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage2.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage2.Text = "Search#2"
'
'XtraTabPage3
'
Me.XtraTabPage3.Name = "XtraTabPage3"
Me.XtraTabPage3.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage3.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage3.Text = "Search#3"
'
'XtraTabPage4
'
Me.XtraTabPage4.Name = "XtraTabPage4"
Me.XtraTabPage4.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage4.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage4.Text = "Search#4"
'
'XtraTabPage5
'
Me.XtraTabPage5.Name = "XtraTabPage5"
Me.XtraTabPage5.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage5.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage5.Text = "Search#5"
'
'XtraTabPage6
'
Me.XtraTabPage6.Name = "XtraTabPage6"
Me.XtraTabPage6.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage6.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage6.Text = "Search#6"
'
'XtraTabPage7
'
Me.XtraTabPage7.Name = "XtraTabPage7"
Me.XtraTabPage7.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage7.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage7.Text = "Search#7"
'
'XtraTabPage8
'
Me.XtraTabPage8.Name = "XtraTabPage8"
Me.XtraTabPage8.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage8.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage8.Text = "Search#8"
'
'XtraTabPage9
'
Me.XtraTabPage9.Name = "XtraTabPage9"
Me.XtraTabPage9.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage9.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage9.Text = "Search#9"
'
'XtraTabPage10
'
Me.XtraTabPage10.Name = "XtraTabPage10"
Me.XtraTabPage10.Size = New System.Drawing.Size(872, 274)
Me.XtraTabPage10.Size = New System.Drawing.Size(748, 285)
Me.XtraTabPage10.Text = "Search#10"
'
'TokenEdit1
'
Me.TokenEdit1.Location = New System.Drawing.Point(191, 60)
Me.TokenEdit1.MenuManager = Me.RibbonControl1
Me.TokenEdit1.Name = "TokenEdit1"
Me.TokenEdit1.Properties.Appearance.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(128, Byte), Integer))
Me.TokenEdit1.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TokenEdit1.Properties.Appearance.Options.UseBackColor = True
Me.TokenEdit1.Properties.Appearance.Options.UseFont = True
Me.TokenEdit1.Properties.Separators.AddRange(New String() {","})
Me.TokenEdit1.Size = New System.Drawing.Size(683, 22)
Me.TokenEdit1.TabIndex = 0
'
'GridControlSerchTerms
'
Me.GridControlSerchTerms.ContextMenuStrip = Me.ContextMenuStripSearchTerms
Me.GridControlSerchTerms.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridControlSerchTerms.Location = New System.Drawing.Point(0, 0)
Me.GridControlSerchTerms.MainView = Me.GridViewSearchTerms
Me.GridControlSerchTerms.MenuManager = Me.RibbonControl1
Me.GridControlSerchTerms.Name = "GridControlSerchTerms"
Me.GridControlSerchTerms.Size = New System.Drawing.Size(415, 299)
Me.GridControlSerchTerms.Size = New System.Drawing.Size(310, 310)
Me.GridControlSerchTerms.TabIndex = 15
Me.GridControlSerchTerms.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewSearchTerms})
'
'ContextMenuStripSearchTerms
'
Me.ContextMenuStripSearchTerms.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmOperator})
Me.ContextMenuStripSearchTerms.Name = "ContextMenuStripSearchTerms"
Me.ContextMenuStripSearchTerms.Size = New System.Drawing.Size(160, 26)
'
'tsmOperator
'
Me.tsmOperator.Name = "tsmOperator"
Me.tsmOperator.Size = New System.Drawing.Size(159, 22)
Me.tsmOperator.Text = "Operator = oder"
'
'GridViewSearchTerms
'
Me.GridViewSearchTerms.Appearance.EvenRow.BackColor = System.Drawing.Color.FromArgb(CType(CType(236, Byte), Integer), CType(CType(233, Byte), Integer), CType(CType(125, Byte), Integer))
Me.GridViewSearchTerms.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearchTerms.GridControl = Me.GridControlSerchTerms
Me.GridViewSearchTerms.Name = "GridViewSearchTerms"
Me.GridViewSearchTerms.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[True]
Me.GridViewSearchTerms.OptionsBehavior.Editable = False
Me.GridViewSearchTerms.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridViewSearchTerms.OptionsView.EnableAppearanceEvenRow = True
Me.GridViewSearchTerms.OptionsView.ShowGroupPanel = False
'
'SplitContainerControlSearch
'
Me.SplitContainerControlSearch.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.SplitContainerControlSearch.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.SplitContainerControlSearch.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControlSearch.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2
Me.SplitContainerControlSearch.Location = New System.Drawing.Point(0, 207)
Me.SplitContainerControlSearch.Name = "SplitContainerControlSearch"
Me.SplitContainerControlSearch.Panel1.Controls.Add(Me.XtraTabControl1)
Me.SplitContainerControlSearch.Panel1.Text = "Panel1"
Me.SplitContainerControlSearch.Panel2.Controls.Add(Me.GridControlSerchTerms)
Me.SplitContainerControlSearch.Panel2.Text = "Panel2"
Me.SplitContainerControlSearch.Size = New System.Drawing.Size(874, 299)
Me.SplitContainerControlSearch.SplitterPosition = 449
Me.SplitContainerControlSearch.Size = New System.Drawing.Size(1070, 310)
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"
'
'SimpleButton1
'
Me.SimpleButton1.ImageOptions.SvgImage = CType(resources.GetObject("SimpleButton1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.SimpleButton1.Location = New System.Drawing.Point(461, 523)
Me.SimpleButton1.Name = "SimpleButton1"
Me.SimpleButton1.Size = New System.Drawing.Size(141, 45)
Me.SimpleButton1.TabIndex = 19
Me.SimpleButton1.Text = "Starte Suche"
'
'frmSearchStart
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(874, 601)
Me.ClientSize = New System.Drawing.Size(1070, 601)
Me.Controls.Add(Me.SimpleButton1)
Me.Controls.Add(Me.SplitContainerControlSearch)
Me.Controls.Add(Me.TokenEdit1)
Me.Controls.Add(Me.WindowsUIButtonPanel1)
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
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 = "frmSearchStart"
Me.Text = "frmSearchStart"
Me.TopMost = True
Me.Text = "ZooFlow Suche"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemRadioGroup1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl1.ResumeLayout(False)
CType(Me.TokenEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControlSerchTerms, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuStripSearchTerms.ResumeLayout(False)
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()
@ -348,7 +411,6 @@ Partial Class frmSearchStart
Friend WithEvents Panel1 As Panel
Friend WithEvents cmbProfile As ComboBox
Friend WithEvents Label1 As Label
Friend WithEvents WindowsUIButtonPanel1 As DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel
Friend WithEvents BarButtonItemNewSearch As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents XtraTabControl1 As DevExpress.XtraTab.XtraTabControl
@ -366,9 +428,18 @@ Partial Class frmSearchStart
Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem
Friend WithEvents RepositoryItemRadioGroup1 As DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents TokenEdit1 As DevExpress.XtraEditors.TokenEdit
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents GridControlSerchTerms As DevExpress.XtraGrid.GridControl
Friend WithEvents GridViewSearchTerms As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents SplitContainerControlSearch As DevExpress.XtraEditors.SplitContainerControl
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 SimpleButton1 As DevExpress.XtraEditors.SimpleButton
End Class

File diff suppressed because it is too large Load Diff

View File

@ -9,12 +9,15 @@ Public Class frmSearchStart
Private DTSearchProfiles As DataTable
Private TabSelectedIndex As Integer
Private TabSelected As XtraTabPage
Private CURR_CTRL_OBJ As Object
Private PSEARCH_ID As Integer = 0
Private PSEARCH_BASE_RESULT_SQL As String
Public FormShown As Boolean = False
Private SEARCH_SQL As String
Private SEARCH_TITLE As String
Public DataLoaded As Boolean = False
Private Const DEFAULT_X As Integer = 10
Private Const DEFAULT_Y As Integer = 10
Private DTSearchTerms As DataTable
Private oDTAttributes As DataTable
Private SEARCH_COUNT As Integer = 0
Public Sub New(pDTSearchProfiles As DataTable)
@ -27,27 +30,74 @@ Public Class frmSearchStart
Dim oSearchTerms As New DataTable
' Create four typed columns in the DataTable.
oSearchTerms.Columns.Add("BracketLeft", GetType(String))
oSearchTerms.Columns.Add("AttrID", GetType(Integer))
oSearchTerms.Columns.Add("AttrTitle", GetType(String))
oSearchTerms.Columns.Add("Criteria", GetType(String))
oSearchTerms.Columns.Add("SearchTerm", GetType(String))
oSearchTerms.Columns.Add("BracketRight", GetType(String))
oSearchTerms.Columns.Add("Operator", GetType(String))
DTSearchTerms = oSearchTerms
End Sub
Public Sub AddSearchAttribute(pAttrID As String, pAttrTitle 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"))
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
oSearchTerm.Delete()
End If
Next
DTSearchTerms.Rows.Add(pAttrID, pAttrTitle, pCriteria, pSearchTerm)
DTSearchTerms.AcceptChanges()
AddToken(pAttrTitle & " " & pCriteria & " '" & pSearchTerm & "'")
End If
DTSearchTerms.Rows.Add("", pAttrID, pAttrTitle, pCriteria, pSearchTerm, "", "and")
RenewBinding_DTSearchTerms()
If SplitContainerControlSearch.Collapsed = True Then
SplitContainerControlSearch.Collapsed = False
End If
End Sub
Sub RenewBinding_DTSearchTerms()
DTSearchTerms.AcceptChanges()
GridControlSerchTerms.DataSource = Nothing
GridControlSerchTerms.DataSource = DTSearchTerms
'"BracketLeft"
'"AttrID", GetType(Integer))
'"AttrTitle"
'"Criteria"
'"SearchTerm"
'"BracketRight"
'"Operator"
GridViewSearchTerms.Columns("BracketLeft").Caption = "("
GridViewSearchTerms.Columns("BracketRight").Caption = ")"
If My.Application.User.Language <> "de-DE" Then
GridViewSearchTerms.Columns("AttrTitle").Caption = "Attribute"
GridViewSearchTerms.Columns("Criteria").Caption = "Criteria"
Else
GridViewSearchTerms.Columns("AttrTitle").Caption = "Attribut"
GridViewSearchTerms.Columns("Criteria").Caption = "Bedingung"
End If
End Sub
Public Sub SearchAttribute(pAttrID As String, pAttrTitle As String, pSearchTerm As String, Optional pCriteria As String = "=")
DTSearchTerms.Rows.Add(pAttrID, pAttrTitle, pCriteria, pSearchTerm)
'"BracketLeft"
'"AttrID", GetType(Integer))
'"AttrTitle"
'"Criteria"
'"SearchTerm"
'"BracketRight"
'"Operator"
DTSearchTerms.Rows.Add("", pAttrID, pAttrTitle, pCriteria, pSearchTerm, "", "And")
DTSearchTerms.AcceptChanges()
End Sub
@ -69,17 +119,28 @@ Public Class frmSearchStart
TabSelectedIndex = -1
Me.Panel1.Visible = True
For Each orow As DataRow In DTSearchProfiles.Rows
RepositoryItemComboBox1.Items.Add(orow.Item("TITLE"))
Next
Else
TabSelectedIndex = 0
TabSelected = XtraTabControl1.TabPages(0)
TabSelected.PageVisible = True
PSEARCH_ID = DTSearchProfiles.Rows(0).Item("SEARCH_PROFILE_ID")
PSEARCH_BASE_RESULT_SQL = DTSearchProfiles.Rows(0).Item("RESULT_SQL")
SEARCH_SQL = DTSearchProfiles.Rows(0).Item("RESULT_SQL")
SEARCH_TITLE = DTSearchProfiles.Rows(0).Item("TITLE")
TabSelected.Text = DTSearchProfiles.Rows(0).Item("TITLE")
Load_Search_Attributes()
BarButtonItemNewSearch.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
SEARCH_COUNT = DTSearchProfiles.Rows.Count
SplitContainerControlSearch.Collapsed = True
RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Red
If My.UIConfig.SearchForm.Location.X > 0 And My.UIConfig.SearchForm.Location.Y > 0 Then
Me.Location = My.UIConfig.SearchForm.Location
End If
Catch ex As Exception
Logger.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error while loading ProfileSearches:")
@ -87,9 +148,18 @@ Public Class frmSearchStart
End Sub
Sub Load_Search_Attributes()
Try
DataLoaded = False
Dim oSQL = $"SELECT * FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = {PSEARCH_ID} ORDER BY [SEQUENCE]"
Dim oDT As DataTable = My.Database_IDB.GetDatatable(oSQL)
oDTAttributes = Nothing
oDTAttributes = oDT.Clone()
oDT.Select("", "SEQUENCE").CopyToDataTable(oDTAttributes, LoadOption.PreserveChanges)
oDTAttributes.Columns.Add("MULTISELECT", GetType(Boolean))
oDTAttributes.AcceptChanges()
For Each oAttributeRow As DataRow In oDTAttributes.Rows
oAttributeRow.Item("MULTISELECT") = False
Next
Dim oControlCount As Integer = 1
Dim oControlRow As Integer = 0
Dim oControls As New ClassControlCreator(TabSelected, Me)
@ -164,6 +234,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)
Dim oView As DevExpress.XtraGrid.Views.Grid.GridView
oView = CType(myDGV.MainView, GridView)
@ -187,6 +258,13 @@ Public Class frmSearchStart
oXPosition += oControlWidth + 20
Next
DataLoaded = True
Catch ex As Exception
Logger.Warn("Unexpected error in Load_Search_Attributes - Error: " & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Load_Search_Attributes:")
DataLoaded = True
End Try
End Sub
Sub addLabel(pAttrName As String, pXPos As Integer, ylbl As Integer)
Dim lbl As New Label With {
@ -198,7 +276,7 @@ Public Class frmSearchStart
TabSelected.Controls.Add(lbl)
End Sub
Private Sub WindowsUIButtonPanel1_ButtonClick(sender As Object, e As DevExpress.XtraBars.Docking2010.ButtonEventArgs) Handles WindowsUIButtonPanel1.ButtonClick
Private Sub WindowsUIButtonPanel1_ButtonClick(sender As Object, e As DevExpress.XtraBars.Docking2010.ButtonEventArgs)
Select Case e.Button.Properties.Tag.ToString
Case "Run"
RunSearch()
@ -218,7 +296,7 @@ Public Class frmSearchStart
TabSelected = XtraTabControl1.SelectedTabPage
End Sub
Private Sub FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs)
If FormShown = False Then Exit Sub
If DataLoaded = False Then Exit Sub
Dim oCurrentView As GridView = DirectCast(sender, GridView)
Dim oCurrentControl As GridControl = oCurrentView.GridControl
@ -236,7 +314,7 @@ Public Class frmSearchStart
End Sub
Private Sub CheckBox_CheckedChanged(sender As Object, e As EventArgs)
If FormShown = False Then Exit Sub
If DataLoaded = False Then Exit Sub
Dim oCurrentCB As CheckBox = DirectCast(sender, CheckBox)
Dim oChecked = oCurrentCB.Checked
Dim oAttrID = DirectCast(oCurrentCB.Tag, ClassControlCreator.ControlMetadata).AttrID
@ -244,7 +322,7 @@ Public Class frmSearchStart
AddSearchAttribute(oAttrID, oAttrTitle, oChecked.ToString)
End Sub
Private Sub frmSearchStart_Shown(sender As Object, e As EventArgs) Handles Me.Shown
FormShown = True
DataLoaded = True
End Sub
Private Sub DisableCalendarDate(sender As Object, e As DevExpress.XtraEditors.Calendar.DisableCalendarDateEventArgs)
@ -271,23 +349,23 @@ Public Class frmSearchStart
Next
Return oIsValid
End Function
Private Sub Clear_token()
Try
TokenEdit1.Properties.BeginUpdate()
Dim oCount As Int16 = 1
For Each oRow As DataRow In DTSearchTerms.Rows
TokenEdit1.RemoveItem($"criteria{oCount}")
oCount += 1
Next
TokenEdit1.Properties.EndUpdate()
Catch ex As Exception
'Private Sub Clear_token()
' Try
' TokenEdit1.Properties.BeginUpdate()
' Dim oCount As Int16 = 1
' For Each oRow As DataRow In DTSearchTerms.Rows
' TokenEdit1.RemoveItem($"criteria{oCount}")
' oCount += 1
' Next
' TokenEdit1.Properties.EndUpdate()
' Catch ex As Exception
End Try
' End Try
End Sub
'End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Try
Clear_token()
'Clear_token()
DTSearchTerms.Clear()
Catch ex As Exception
@ -298,58 +376,58 @@ Public Class frmSearchStart
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
TokenEdit1.Properties.BeginUpdate()
'TokenEdit1.Properties.Tokens.AddToken("Column1 = 'Value1'", "criteria1")
TokenEdit1.Properties.Tokens.AddToken("Column1 = 'Value1'", "criteria1")
TokenEdit1.Properties.Tokens.AddToken("Column2 > 20", "criteria2")
TokenEdit1.Properties.Tokens.AddToken("Column3 <> 'Harry'", "criteria3")
TokenEdit1.EditValue = "criteria1, criteria2, criteria3"
' ... add more tokens
TokenEdit1.Properties.EndUpdate()
End Sub
Private Sub AddToken(CriteriaString As String)
Try
Clear_token()
TokenEdit1.Properties.BeginUpdate()
''oRow.Item("AttrTitle") & " " & oRow.Item("Criteria") & " '" & oRow.Item("SearchTerm") & "'"
Dim oCount As Int16 = 1
For Each oRow As DataRow In DTSearchTerms.Rows
Try
Dim oCriteriaString = oRow.Item("AttrTitle") & " " & oRow.Item("Criteria") & " '" & oRow.Item("SearchTerm") & "'"
TokenEdit1.Properties.Tokens.AddToken(CriteriaString, "criteria" + oCount.ToString)
Catch ex As Exception
End Try
oCount += 1
Next
' Dim oTokenCount = DTSearchTerms.Rows.Count
'TokenEdit1.Properties.BeginUpdate()
'TokenEdit1.Properties.Tokens.AddToken(CriteriaString, "criteria" + oCount.ToString)
Dim otokenEditString = ""
oCount = 1
For Each oRow As DataRow In DTSearchTerms.Rows
If oCount = 1 Then
otokenEditString = "criteria1"
Else
otokenEditString &= $", criteria{oCount}"
End If
oCount += 1
Next
TokenEdit1.EditValue = otokenEditString
' ... add more tokens
TokenEdit1.Properties.EndUpdate()
Catch ex As Exception
MsgBox("Unexpected Error in AddToken: " & ex.Message, MsgBoxStyle.Critical)
Logger.Warn("Unexpected Error in AddToken: " & ex.Message)
End Try
''TokenEdit1.Properties.Tokens.AddToken("Column1 = 'Value1'", "criteria1")
'TokenEdit1.Properties.Tokens.AddToken("Column1 = 'Value1'", "criteria1")
'TokenEdit1.Properties.Tokens.AddToken("Column2 > 20", "criteria2")
'TokenEdit1.Properties.Tokens.AddToken("Column3 <> 'Harry'", "criteria3")
'TokenEdit1.EditValue = "criteria1, criteria2, criteria3"
'' ... add more tokens
'TokenEdit1.Properties.EndUpdate()
End Sub
'Private Sub AddToken(CriteriaString As String)
' Try
' Clear_token()
' TokenEdit1.Properties.BeginUpdate()
' ''oRow.Item("AttrTitle") & " " & oRow.Item("Criteria") & " '" & oRow.Item("SearchTerm") & "'"
' Dim oCount As Int16 = 1
' For Each oRow As DataRow In DTSearchTerms.Rows
' Try
' Dim oCriteriaString = oRow.Item("AttrTitle") & " " & oRow.Item("Criteria") & " '" & oRow.Item("SearchTerm") & "'"
' TokenEdit1.Properties.Tokens.AddToken(CriteriaString, "criteria" + oCount.ToString)
' Catch ex As Exception
' End Try
' oCount += 1
' Next
' ' Dim oTokenCount = DTSearchTerms.Rows.Count
' 'TokenEdit1.Properties.BeginUpdate()
' 'TokenEdit1.Properties.Tokens.AddToken(CriteriaString, "criteria" + oCount.ToString)
' Dim otokenEditString = ""
' oCount = 1
' For Each oRow As DataRow In DTSearchTerms.Rows
' If oCount = 1 Then
' otokenEditString = "criteria1"
' Else
' otokenEditString &= $", criteria{oCount}"
' End If
' oCount += 1
' Next
' TokenEdit1.EditValue = otokenEditString
' ' ... add more tokens
' TokenEdit1.Properties.EndUpdate()
' Catch ex As Exception
' MsgBox("Unexpected Error in AddToken: " & ex.Message, MsgBoxStyle.Critical)
' Logger.Warn("Unexpected Error in AddToken: " & ex.Message)
' End Try
'End Sub
Private Sub cmbProfile_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbProfile.SelectedIndexChanged
If FormShown = False Then Exit Sub
If DataLoaded = False Then Exit Sub
If cmbProfile.SelectedIndex <> -1 Then
If TabSelectedIndex = -1 Then
TabSelectedIndex = 0
@ -359,11 +437,226 @@ Public Class frmSearchStart
TabSelected = XtraTabControl1.TabPages(TabSelectedIndex)
TabSelected.PageVisible = True
PSEARCH_ID = cmbProfile.SelectedValue
TabSelected.Text = cmbProfile.Text
Dim oDT As New DataTable
Dim oFilter As String = $"SEARCH_PROFILE_ID = {PSEARCH_ID}"
Dim oFilteredRows() As DataRow = DTSearchProfiles.Select(oFilter)
oDT = DTSearchProfiles.Clone
For Each oRow As DataRow In oFilteredRows
SEARCH_SQL = oRow.Item("RESULT_SQL").ToString
SEARCH_TITLE = cmbProfile.Text
Next
TabSelected.Text = SEARCH_TITLE
Load_Search_Attributes()
BarButtonItemNewSearch.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
XtraTabControl1.SelectedTabPageIndex = TabSelectedIndex
End If
End Sub
Private Sub BarEditItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarEditItem2.ItemClick
End Sub
Private Sub BarButtonItemNewSearch_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemNewSearch.ItemClick
Display_InfoItem("New Search not integrated", Color.Yellow)
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
Display_InfoItem("Search Save not integrated", Color.Yellow)
End Sub
Sub Display_InfoItem(pText As String, pColor As Color)
BarStaticItemInfo.Caption = pText
BarStaticItemInfo.ItemAppearance.Normal.BackColor = pColor
End Sub
Private Sub MehrfachauswahlAktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MehrfachauswahlAktivierenToolStripMenuItem.Click
If DataLoaded = False Then Exit Sub
Dim oCurrentControl As GridControl = DirectCast(CURR_CTRL_OBJ, GridControl)
Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrID
Dim oAttrTitle = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle
For Each oROW As DataRow In oDTAttributes.Rows
If oROW.Item("ATTRIBUTE_ID") = oAttrID Then
oROW.Item("MULTISELECT") = True
Exit For
End If
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
If DataLoaded = False Then Exit Sub
Dim oCurrentControl As GridControl = DirectCast(CURR_CTRL_OBJ, GridControl)
Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrID
Dim oAttrTitle = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle
For Each oROW As DataRow In oDTAttributes.Rows
If oROW.Item("ATTRIBUTE_ID") = oAttrID Then
oROW.Item("MULTISELECT") = False
Exit For
End If
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)
Dim oCurrentControl As GridControl = oCurrentView.GridControl
Dim rowView As DataRowView = CType(oCurrentView.GetFocusedRow(), DataRowView)
If IsNothing(rowView) = False Then
Dim oResult As String = CType(rowView.Item(0), String)
Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrID
Dim oAttrTitle = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle
End If
End Sub
Private Sub GridViewSearchTerms_KeyUp(sender As Object, e As KeyEventArgs) Handles GridViewSearchTerms.KeyUp
If e.KeyValue = Keys.Delete Then
Dim oSelectedRows As Integer() = GridViewSearchTerms.GetSelectedRows()
Dim oAttrID = GridViewSearchTerms.GetRowCellValue(oSelectedRows.Last(), GridViewSearchTerms.Columns("AttrID"))
Dim oSearchTerm = GridViewSearchTerms.GetRowCellValue(oSelectedRows.Last(), GridViewSearchTerms.Columns("SearchTerm"))
For Each dr As DataRow In DTSearchTerms.Rows
If dr.Item("AttrID") = oAttrID And dr.Item("SearchTerm") = oSearchTerm Then
dr.Delete()
Exit For
End If
Next
RenewBinding_DTSearchTerms()
End If
End Sub
Private Sub ContextMenuStripSearchTerms_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStripSearchTerms.Opening
Dim rowView As DataRowView = GridViewSearchTerms.GetFocusedRow()
'"BracketLeft"
'"AttrID", GetType(Integer))
'"AttrTitle"
'"Criteria"
'"SearchTerm"
'"BracketRight"
'"Operator"
If IsNothing(rowView) = False Then
Dim oOperator As String = rowView.Item("Operator")
If oOperator = "and" Then
If My.Application.User.Language = "de-De" Then
tsmOperator.Text = "Operator = oder"
Else
tsmOperator.Text = "Operator = or"
End If
Else
If My.Application.User.Language = "de-De" Then
tsmOperator.Text = "Operator = und"
Else
tsmOperator.Text = "Operator = and"
End If
End If
End If
End Sub
Private Sub tsmOperator_Click(sender As Object, e As EventArgs) Handles tsmOperator.Click
Dim rowView As DataRowView = GridViewSearchTerms.GetFocusedRow()
If IsNothing(rowView) = False Then
Dim oAttrID As String = rowView.Item("AttrID")
Dim oSearchTerm As String = rowView.Item("SearchTerm")
Dim oREPLACEOperator As String
If tsmOperator.Text.EndsWith("und") Or tsmOperator.Text.EndsWith("and") Then
oREPLACEOperator = "and"
Else
oREPLACEOperator = "or"
End If
For Each oRow As DataRow In DTSearchTerms.Rows
If oRow.Item("AttrID") = oAttrID And oRow.Item("SearchTerm") = oSearchTerm Then
oRow.Item("Operator") = oREPLACEOperator
DTSearchTerms.AcceptChanges()
Exit For
End If
Next
End If
End Sub
Private Sub frmSearchStart_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
My.UIConfig.SearchForm.Location = Me.Location
My.UIConfigManager.Save()
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
Try
Dim oSEARCH_SQL = SEARCH_SQL
Dim oOperator As String
Dim oCount As Integer = 1
For Each oRow As DataRow In DTSearchTerms.Rows
'"BracketLeft"
'"AttrID", GetType(Integer))
'"AttrTitle"
'"Criteria"
'"SearchTerm"
'"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)
oSEARCH_SQL &= IIf(oCount = 0, " ", "") + $"{oRow.Item("BracketLeft").ToString}{oSearchTerm}{oRow.Item("BracketLeft").ToString}"
If DTSearchTerms.Rows.Count > oCount Then
oSEARCH_SQL &= $" {oOperator} {Chr(13)}"
End If
oCount += 1
Next
MsgBox(oSEARCH_SQL)
Catch ex As Exception
End Try
End Sub
Private Function GetSearchTerm_for_Type(pAttrID As Int16, pAttrTitle As String, pCriteria As String, pTERM As String) As String
Dim oRETURN As String = ""
Dim oDT As New DataTable
Dim oFilter As String = $"GUID = {pAttrID}"
Dim oFilteredRows() As DataRow = My.DTAttributes.Select(oFilter)
If oFilteredRows.Length = 1 Then
For Each oRow As DataRow In oFilteredRows
Dim oType As Integer = CInt(oRow.Item("TYP_ID"))
If oType = 1 Or oType = 8 Then
oRETURN = $"{pAttrTitle} {pCriteria} '{pTERM.Replace("'", "''")}'"
ElseIf oType = 2 Or oType = 9 Then
oRETURN = $"{pAttrTitle} {pCriteria} {pTERM}"
ElseIf oType = 3 Then 'Float
oRETURN = $"{pAttrTitle} {pCriteria} Convert(float,'{pTERM.Replace(",", ".")}')"
ElseIf oType = 4 Then 'Decimal
oRETURN = $"{pAttrTitle} {pCriteria} Convert(decimal(19,2),'{pTERM.Replace(",", ".")}')"
ElseIf oType = 5 Then 'DATE
oRETURN = $"{pAttrTitle} {pCriteria} Convert(date,'{pTERM}')"
ElseIf oType = 7 Then
Dim oBit As Int16
If CBool(pTERM) = True Then
oBit = 1
Else
oBit = 0
End If
oRETURN = $"{pAttrTitle} {pCriteria} '{oBit.ToString}'"
End If
Next
End If
Return oRETURN
End Function
End Class