ms stage
This commit is contained in:
@@ -105,7 +105,8 @@ Public Class ClassInit
|
|||||||
oDataRow.Item("PASSWORD").ToString
|
oDataRow.Item("PASSWORD").ToString
|
||||||
)
|
)
|
||||||
|
|
||||||
My.DatabaseIDB = New MSSQLServer(My.LogConfig, oConString)
|
Dim oDecryptedConnectionString = MSSQLServer.DecryptConnectionString(oConString)
|
||||||
|
My.DatabaseIDB = New MSSQLServer(My.LogConfig, oDecryptedConnectionString)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If My.DatabaseIDB.DBInitialized = False Then
|
If My.DatabaseIDB.DBInitialized = False Then
|
||||||
|
|||||||
@@ -1,23 +1,24 @@
|
|||||||
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraBars.Docking.DockManager, 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.XtraEditors.DateEdit, DevExpress.XtraEditors.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.XtraTreeList.TreeList, DevExpress.XtraTreeList.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.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.ProgressBarControl, 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.LookUpEdit, 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.XtraBars.Navigation.TileNavPane, DevExpress.XtraBars.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.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.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.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraSpreadsheet.SpreadsheetFormulaBar, DevExpress.XtraSpreadsheet.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraEditors.SearchLookUpEdit, DevExpress.XtraGrid.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.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.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.ProgressBarControl, 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.XtraEditors.PictureEdit, 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.XtraBars.Docking.DockManager, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraBars.Navigation.TileNavPane, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.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.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.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.XtraBars.FormAssistant, 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.XtraSpreadsheet.SpreadsheetFormulaBar, DevExpress.XtraSpreadsheet.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
|
||||||
|
|||||||
107
GUIs.ZooFlow/Search/Search.vb
Normal file
107
GUIs.ZooFlow/Search/Search.vb
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
Imports System.ComponentModel
|
||||||
|
Imports DevExpress.XtraEditors
|
||||||
|
Imports DigitalData.GUIs.ZooFlow.Search.SearchToken
|
||||||
|
Imports DigitalData.Modules.EDMI.API
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
Imports DigitalData.Modules.ZooFlow.State
|
||||||
|
|
||||||
|
Namespace Search
|
||||||
|
Public Class Search
|
||||||
|
Private ReadOnly _SearchQuery As New BindingList(Of SearchCriteria)
|
||||||
|
Private ReadOnly _LogConfig As LogConfig
|
||||||
|
Private ReadOnly _Database As DatabaseWithFallback
|
||||||
|
Private ReadOnly _UserState As UserState
|
||||||
|
|
||||||
|
Private ReadOnly _OpEquals As New KeyValuePair(Of String, Object)("gleich", New AttributeOperatorToken(OperatorToken.Equals))
|
||||||
|
Private ReadOnly _OpNotEquals As New KeyValuePair(Of String, Object)("nicht gleich", New AttributeOperatorToken(OperatorToken.NotEquals))
|
||||||
|
Private ReadOnly _OpGreaterThan As New KeyValuePair(Of String, Object)("größer als", New AttributeOperatorToken(OperatorToken.GreaterThan))
|
||||||
|
Private ReadOnly _OpLessThan As New KeyValuePair(Of String, Object)("kleiner als", New AttributeOperatorToken(OperatorToken.LessThan))
|
||||||
|
Private ReadOnly _OpContains As New KeyValuePair(Of String, Object)("enthält", New AttributeOperatorToken(OperatorToken.Contains))
|
||||||
|
|
||||||
|
Public ReadOnly Property Query As BindingList(Of SearchCriteria)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private ReadOnly TokenListAttributes As New Dictionary(Of String, Object)
|
||||||
|
'Private ReadOnly TokenListAttributes As New Dictionary(Of String, Object) From {
|
||||||
|
' {"Rechnungsnummer", New AttributeKeyToken("InvoiceNo")},
|
||||||
|
' {"Rechnungsdatum", New AttributeKeyToken("InvoiceDate")},
|
||||||
|
' {"Kundennummer", New AttributeKeyToken("CustNo")}
|
||||||
|
'}
|
||||||
|
Private ReadOnly TokenListOperands As New Dictionary(Of String, Object) From {
|
||||||
|
{"gleich", New AttributeOperatorToken(OperatorToken.Equals)},
|
||||||
|
{"nicht gleich", New AttributeOperatorToken(OperatorToken.NotEquals)},
|
||||||
|
{"größer als", New AttributeOperatorToken(OperatorToken.Equals)},
|
||||||
|
{"kleiner als", New AttributeOperatorToken(OperatorToken.Equals)},
|
||||||
|
{"enthält", New AttributeOperatorToken(OperatorToken.Equals)}
|
||||||
|
}
|
||||||
|
Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object)
|
||||||
|
'Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object) From {
|
||||||
|
' {"1233", New AttributeValueToken(1233)},
|
||||||
|
' {"1234", New AttributeValueToken(1234)},
|
||||||
|
' {"1235", New AttributeValueToken(1235)},
|
||||||
|
' {"4711", New AttributeValueToken(4711)},
|
||||||
|
' {"4712", New AttributeValueToken(4712)}
|
||||||
|
'}
|
||||||
|
Private ReadOnly TokenListDate As New Dictionary(Of String, Object) From {
|
||||||
|
{"heute", New DateToken(Date.Now)},
|
||||||
|
{"gestern", New DateToken(Date.Now.AddDays(-1))},
|
||||||
|
{"letzte Woche", New DateToken(TimeSpan.FromDays(-7))},
|
||||||
|
{"letzter Monat", New DateToken(TimeSpan.FromDays(-30))}
|
||||||
|
}
|
||||||
|
|
||||||
|
Public InputMode As InputMode = InputMode.Default
|
||||||
|
|
||||||
|
Public Sub New(pLogConfig As LogConfig, pUserState As UserState, pDatabase As DatabaseWithFallback)
|
||||||
|
_LogConfig = pLogConfig
|
||||||
|
_Database = pDatabase
|
||||||
|
_UserState = pUserState
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function GetAttributeTokens() As Dictionary(Of String, Object)
|
||||||
|
Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE DEFAULT_SEARCH_ATTRIBUTE = 1 AND LANG_CODE = '{_UserState.Language}'"
|
||||||
|
Dim oTable = _Database.GetDatatable("VWIDB_BE_ATTRIBUTE", oSQL, Constants.DatabaseType.IDB, $"DEFAULT_SEARCH_ATTRIBUTE = 1 AND LANG_CODE = '{_UserState.Language}'")
|
||||||
|
Dim oTokens As New Dictionary(Of String, Object)
|
||||||
|
|
||||||
|
For Each oRow As DataRow In oTable.rows
|
||||||
|
oTokens.Add(oRow.Item("ATTR_TITLE"), New AttributeKeyToken(oRow.Item("ATTR_ID")))
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return oTokens
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetValueTokensForAttribute() As Dictionary(Of String, Object)
|
||||||
|
Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE DEFAULT_SEARCH_ATTRIBUTE = 1 AND LANG_CODE = '{_UserState.Language}'"
|
||||||
|
Dim oTable = _Database.GetDatatable("VWIDB_BE_ATTRIBUTE", oSQL, Constants.DatabaseType.IDB, $"DEFAULT_SEARCH_ATTRIBUTE = 1 AND LANG_CODE = '{_UserState.Language}'")
|
||||||
|
Dim oTokens As New Dictionary(Of String, Object)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetOperatorTokens(pDataType As Type) As Dictionary(Of String, Object)
|
||||||
|
Dim oResult = New Dictionary(Of String, Object)
|
||||||
|
|
||||||
|
Select Case pDataType.GetType
|
||||||
|
Case GetType(Date)
|
||||||
|
oResult.Add(_OpEquals.Key, _OpEquals.Value)
|
||||||
|
|
||||||
|
Case GetType(Integer)
|
||||||
|
oResult.Add(_OpEquals.Key, _OpEquals.Value)
|
||||||
|
oResult.Add(_OpNotEquals.Key, _OpNotEquals.Value)
|
||||||
|
oResult.Add(_OpGreaterThan.Key, _OpGreaterThan.Value)
|
||||||
|
oResult.Add(_OpLessThan.Key, _OpLessThan.Value)
|
||||||
|
|
||||||
|
Case GetType(Boolean)
|
||||||
|
oResult.Add(_OpEquals.Key, _OpEquals.Value)
|
||||||
|
oResult.Add(_OpNotEquals.Key, _OpNotEquals.Value)
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
oResult.Add(_OpEquals.Key, _OpEquals.Value)
|
||||||
|
oResult.Add(_OpNotEquals.Key, _OpNotEquals.Value)
|
||||||
|
oResult.Add(_OpContains.Key, _OpContains.Value)
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
Return oResult
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
12
GUIs.ZooFlow/Search/SearchCriteria.vb
Normal file
12
GUIs.ZooFlow/Search/SearchCriteria.vb
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Namespace Search
|
||||||
|
Public Class SearchCriteria
|
||||||
|
Public Property ParenLeft As String = ""
|
||||||
|
Public Property Key As String
|
||||||
|
Public Property Op As SearchToken.OperatorToken = SearchToken.OperatorToken.Equals
|
||||||
|
Public Property Value As Object
|
||||||
|
Public Property ParentRight As String = ""
|
||||||
|
Public Property JoinOperator As String = "AND"
|
||||||
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
End Namespace
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
Public Class SearchFilter
|
Namespace Search
|
||||||
|
Public Class SearchFilter
|
||||||
|
|
||||||
Public Shared Property DefaultFilters As New List(Of FilterTimeframe) From {
|
Public Shared Property DefaultFilters As New List(Of FilterTimeframe) From {
|
||||||
New FilterTimeframe() With {.Name = "Kein", .DisableFilter = True, .[To] = Nothing},
|
New FilterTimeframe() With {.Name = "Kein", .DisableFilter = True, .[To] = Nothing},
|
||||||
New FilterTimeframe() With {.Name = "Eigener", .CustomFilter = True, .[To] = Date.Now, .From = Date.Now},
|
New FilterTimeframe() With {.Name = "Eigener", .CustomFilter = True, .[To] = Date.Now, .From = Date.Now},
|
||||||
New FilterTimeframe() With {
|
New FilterTimeframe() With {
|
||||||
@@ -21,15 +22,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Public Class FilterTimeframe
|
Public Class FilterTimeframe
|
||||||
Public Property Name As String
|
Public Property Name As String
|
||||||
Public Property From As Date
|
Public Property From As Date
|
||||||
Public Property [To] As Date = Date.Now
|
Public Property [To] As Date = Date.Now
|
||||||
Public Property DisableFilter As Boolean = False
|
Public Property DisableFilter As Boolean = False
|
||||||
Public Property CustomFilter As Boolean = False
|
Public Property CustomFilter As Boolean = False
|
||||||
|
|
||||||
Public Overrides Function ToString() As String
|
Public Overrides Function ToString() As String
|
||||||
Return Name.ToString
|
Return Name.ToString
|
||||||
End Function
|
End Function
|
||||||
|
End Class
|
||||||
End Class
|
End Class
|
||||||
End Class
|
|
||||||
|
End Namespace
|
||||||
70
GUIs.ZooFlow/Search/SearchToken.vb
Normal file
70
GUIs.ZooFlow/Search/SearchToken.vb
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
Namespace Search
|
||||||
|
Public Class SearchToken
|
||||||
|
|
||||||
|
Public Enum [ValueType]
|
||||||
|
AttributeName
|
||||||
|
AttributeValue
|
||||||
|
AttributeOperator
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Public Enum [InputMode]
|
||||||
|
[Default]
|
||||||
|
[Operator]
|
||||||
|
Value
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Public Enum [OperatorToken]
|
||||||
|
Equals
|
||||||
|
NotEquals
|
||||||
|
GreaterThan
|
||||||
|
LessThan
|
||||||
|
Contains
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Public MustInherit Class TokenValue
|
||||||
|
Public Value As Object
|
||||||
|
Public Type As [ValueType]
|
||||||
|
|
||||||
|
Public Overrides Function ToString() As String
|
||||||
|
Return Value.ToString()
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class AttributeKeyToken
|
||||||
|
Inherits TokenValue
|
||||||
|
|
||||||
|
Public Sub New(pValue As Object)
|
||||||
|
Value = pValue
|
||||||
|
Type = ValueType.AttributeName
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class AttributeOperatorToken
|
||||||
|
Inherits TokenValue
|
||||||
|
|
||||||
|
Public Sub New(pValue As Object)
|
||||||
|
Value = pValue
|
||||||
|
Type = ValueType.AttributeOperator
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class AttributeValueToken
|
||||||
|
Inherits TokenValue
|
||||||
|
|
||||||
|
Public Sub New(pValue As Object)
|
||||||
|
Value = pValue
|
||||||
|
Type = ValueType.AttributeValue
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class DateToken
|
||||||
|
Inherits TokenValue
|
||||||
|
|
||||||
|
Public Sub New(pValue As Object)
|
||||||
|
Value = pValue
|
||||||
|
Type = ValueType.AttributeValue
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
||||||
171
GUIs.ZooFlow/Search/frmSearch2021.Designer.vb
generated
171
GUIs.ZooFlow/Search/frmSearch2021.Designer.vb
generated
@@ -1,171 +0,0 @@
|
|||||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
|
||||||
Partial Class frmSearch2021
|
|
||||||
Inherits DevExpress.XtraEditors.XtraForm
|
|
||||||
|
|
||||||
'Form overrides dispose to clean up the component list.
|
|
||||||
<System.Diagnostics.DebuggerNonUserCode()>
|
|
||||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
|
||||||
If disposing AndAlso components IsNot Nothing Then
|
|
||||||
components.Dispose()
|
|
||||||
End If
|
|
||||||
MyBase.Dispose(disposing)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
'Required by the Windows Form Designer
|
|
||||||
Private components As System.ComponentModel.IContainer
|
|
||||||
|
|
||||||
'NOTE: The following procedure is required by the Windows Form Designer
|
|
||||||
'It can be modified using the Windows Form Designer.
|
|
||||||
'Do not modify it using the code editor.
|
|
||||||
<System.Diagnostics.DebuggerStepThrough()>
|
|
||||||
Private Sub InitializeComponent()
|
|
||||||
Me.SearchControl2 = New DevExpress.XtraEditors.TokenEdit()
|
|
||||||
Me.ComboBoxEdit1 = New DevExpress.XtraEditors.ComboBoxEdit()
|
|
||||||
Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()
|
|
||||||
Me.SidePanel1 = New DevExpress.XtraEditors.SidePanel()
|
|
||||||
Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl()
|
|
||||||
Me.NavBarGroup1 = New DevExpress.XtraNavBar.NavBarGroup()
|
|
||||||
Me.NavBarItem1 = New DevExpress.XtraNavBar.NavBarItem()
|
|
||||||
Me.NavBarItem2 = New DevExpress.XtraNavBar.NavBarItem()
|
|
||||||
Me.NavBarItem3 = New DevExpress.XtraNavBar.NavBarItem()
|
|
||||||
Me.NavBarGroup2 = New DevExpress.XtraNavBar.NavBarGroup()
|
|
||||||
Me.NavBarGroup3 = New DevExpress.XtraNavBar.NavBarGroup()
|
|
||||||
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
CType(Me.ComboBoxEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
Me.PanelControl1.SuspendLayout()
|
|
||||||
Me.SidePanel1.SuspendLayout()
|
|
||||||
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
Me.SuspendLayout()
|
|
||||||
'
|
|
||||||
'SearchControl2
|
|
||||||
'
|
|
||||||
Me.SearchControl2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
|
||||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
|
||||||
Me.SearchControl2.Location = New System.Drawing.Point(227, 5)
|
|
||||||
Me.SearchControl2.Name = "SearchControl2"
|
|
||||||
Me.SearchControl2.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
|
|
||||||
Me.SearchControl2.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
|
||||||
Me.SearchControl2.Properties.Appearance.Options.UseBackColor = True
|
|
||||||
Me.SearchControl2.Properties.Appearance.Options.UseFont = True
|
|
||||||
Me.SearchControl2.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
|
|
||||||
Me.SearchControl2.Properties.EditMode = DevExpress.XtraEditors.TokenEditMode.Manual
|
|
||||||
Me.SearchControl2.Properties.PopupFilterMode = DevExpress.XtraEditors.TokenEditPopupFilterMode.Contains
|
|
||||||
Me.SearchControl2.Properties.Separators.AddRange(New String() {",", "-", "ODER", "OR", "AND", "UND"})
|
|
||||||
Me.SearchControl2.Size = New System.Drawing.Size(894, 44)
|
|
||||||
Me.SearchControl2.TabIndex = 0
|
|
||||||
'
|
|
||||||
'ComboBoxEdit1
|
|
||||||
'
|
|
||||||
Me.ComboBoxEdit1.Location = New System.Drawing.Point(5, 5)
|
|
||||||
Me.ComboBoxEdit1.Name = "ComboBoxEdit1"
|
|
||||||
Me.ComboBoxEdit1.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
|
|
||||||
Me.ComboBoxEdit1.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
|
||||||
Me.ComboBoxEdit1.Properties.Appearance.Options.UseBackColor = True
|
|
||||||
Me.ComboBoxEdit1.Properties.Appearance.Options.UseFont = True
|
|
||||||
Me.ComboBoxEdit1.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
|
|
||||||
Me.ComboBoxEdit1.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
|
|
||||||
Me.ComboBoxEdit1.Properties.Items.AddRange(New Object() {"Alle", "Belege", "Rechnungen", "Lieferscheine", "Aufträge", "Angebote", "Kunde Schaum", "Kunde medacom"})
|
|
||||||
Me.ComboBoxEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
|
|
||||||
Me.ComboBoxEdit1.Size = New System.Drawing.Size(223, 44)
|
|
||||||
Me.ComboBoxEdit1.TabIndex = 1
|
|
||||||
'
|
|
||||||
'PanelControl1
|
|
||||||
'
|
|
||||||
Me.PanelControl1.AutoSize = True
|
|
||||||
Me.PanelControl1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
|
|
||||||
Me.PanelControl1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder
|
|
||||||
Me.PanelControl1.Controls.Add(Me.ComboBoxEdit1)
|
|
||||||
Me.PanelControl1.Controls.Add(Me.SearchControl2)
|
|
||||||
Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Top
|
|
||||||
Me.PanelControl1.Location = New System.Drawing.Point(0, 0)
|
|
||||||
Me.PanelControl1.Name = "PanelControl1"
|
|
||||||
Me.PanelControl1.Size = New System.Drawing.Size(1126, 52)
|
|
||||||
Me.PanelControl1.TabIndex = 2
|
|
||||||
'
|
|
||||||
'SidePanel1
|
|
||||||
'
|
|
||||||
Me.SidePanel1.Controls.Add(Me.NavBarControl1)
|
|
||||||
Me.SidePanel1.Dock = System.Windows.Forms.DockStyle.Left
|
|
||||||
Me.SidePanel1.Location = New System.Drawing.Point(0, 52)
|
|
||||||
Me.SidePanel1.Name = "SidePanel1"
|
|
||||||
Me.SidePanel1.Size = New System.Drawing.Size(228, 566)
|
|
||||||
Me.SidePanel1.TabIndex = 3
|
|
||||||
Me.SidePanel1.Text = "SidePanel1"
|
|
||||||
'
|
|
||||||
'NavBarControl1
|
|
||||||
'
|
|
||||||
Me.NavBarControl1.ActiveGroup = Me.NavBarGroup1
|
|
||||||
Me.NavBarControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
|
||||||
Me.NavBarControl1.Groups.AddRange(New DevExpress.XtraNavBar.NavBarGroup() {Me.NavBarGroup1, Me.NavBarGroup2, Me.NavBarGroup3})
|
|
||||||
Me.NavBarControl1.Items.AddRange(New DevExpress.XtraNavBar.NavBarItem() {Me.NavBarItem1, Me.NavBarItem2, Me.NavBarItem3})
|
|
||||||
Me.NavBarControl1.Location = New System.Drawing.Point(0, 0)
|
|
||||||
Me.NavBarControl1.Name = "NavBarControl1"
|
|
||||||
Me.NavBarControl1.OptionsNavPane.ExpandedWidth = 227
|
|
||||||
Me.NavBarControl1.Size = New System.Drawing.Size(227, 566)
|
|
||||||
Me.NavBarControl1.TabIndex = 0
|
|
||||||
Me.NavBarControl1.Text = "NavBarControl1"
|
|
||||||
'
|
|
||||||
'NavBarGroup1
|
|
||||||
'
|
|
||||||
Me.NavBarGroup1.Caption = "NavBarGroup1"
|
|
||||||
Me.NavBarGroup1.Expanded = True
|
|
||||||
Me.NavBarGroup1.ItemLinks.AddRange(New DevExpress.XtraNavBar.NavBarItemLink() {New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItem1), New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItem2), New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItem3)})
|
|
||||||
Me.NavBarGroup1.Name = "NavBarGroup1"
|
|
||||||
'
|
|
||||||
'NavBarItem1
|
|
||||||
'
|
|
||||||
Me.NavBarItem1.Caption = "NavBarItem1"
|
|
||||||
Me.NavBarItem1.Name = "NavBarItem1"
|
|
||||||
'
|
|
||||||
'NavBarItem2
|
|
||||||
'
|
|
||||||
Me.NavBarItem2.Caption = "NavBarItem2"
|
|
||||||
Me.NavBarItem2.Name = "NavBarItem2"
|
|
||||||
'
|
|
||||||
'NavBarItem3
|
|
||||||
'
|
|
||||||
Me.NavBarItem3.Caption = "NavBarItem3"
|
|
||||||
Me.NavBarItem3.Name = "NavBarItem3"
|
|
||||||
'
|
|
||||||
'NavBarGroup2
|
|
||||||
'
|
|
||||||
Me.NavBarGroup2.Caption = "NavBarGroup2"
|
|
||||||
Me.NavBarGroup2.Name = "NavBarGroup2"
|
|
||||||
'
|
|
||||||
'NavBarGroup3
|
|
||||||
'
|
|
||||||
Me.NavBarGroup3.Caption = "NavBarGroup3"
|
|
||||||
Me.NavBarGroup3.Name = "NavBarGroup3"
|
|
||||||
'
|
|
||||||
'XtraForm1
|
|
||||||
'
|
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
|
||||||
Me.ClientSize = New System.Drawing.Size(1126, 618)
|
|
||||||
Me.Controls.Add(Me.SidePanel1)
|
|
||||||
Me.Controls.Add(Me.PanelControl1)
|
|
||||||
Me.Name = "XtraForm1"
|
|
||||||
Me.Text = "XtraForm1"
|
|
||||||
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
CType(Me.ComboBoxEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
Me.PanelControl1.ResumeLayout(False)
|
|
||||||
Me.SidePanel1.ResumeLayout(False)
|
|
||||||
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
Me.ResumeLayout(False)
|
|
||||||
Me.PerformLayout()
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
Friend WithEvents SearchControl2 As DevExpress.XtraEditors.TokenEdit
|
|
||||||
Friend WithEvents ComboBoxEdit1 As DevExpress.XtraEditors.ComboBoxEdit
|
|
||||||
Friend WithEvents PanelControl1 As DevExpress.XtraEditors.PanelControl
|
|
||||||
Friend WithEvents SidePanel1 As DevExpress.XtraEditors.SidePanel
|
|
||||||
Friend WithEvents NavBarControl1 As DevExpress.XtraNavBar.NavBarControl
|
|
||||||
Friend WithEvents NavBarGroup1 As DevExpress.XtraNavBar.NavBarGroup
|
|
||||||
Friend WithEvents NavBarItem1 As DevExpress.XtraNavBar.NavBarItem
|
|
||||||
Friend WithEvents NavBarItem2 As DevExpress.XtraNavBar.NavBarItem
|
|
||||||
Friend WithEvents NavBarItem3 As DevExpress.XtraNavBar.NavBarItem
|
|
||||||
Friend WithEvents NavBarGroup2 As DevExpress.XtraNavBar.NavBarGroup
|
|
||||||
Friend WithEvents NavBarGroup3 As DevExpress.XtraNavBar.NavBarGroup
|
|
||||||
End Class
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
Imports DevExpress.Utils
|
|
||||||
Imports DevExpress.XtraEditors
|
|
||||||
Imports DevExpress.XtraEditors.Repository
|
|
||||||
|
|
||||||
Public Class frmSearch2021
|
|
||||||
Private ReadOnly TokenListAttributes As New Dictionary(Of String, Object) From {
|
|
||||||
{"Rechnungsnummer", New AttributeToken(7411)},
|
|
||||||
{"Rechnungsdatum", New AttributeToken(7412)},
|
|
||||||
{"Kundennummer", New AttributeToken(7413)}
|
|
||||||
}
|
|
||||||
|
|
||||||
Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object) From {
|
|
||||||
{"{1233}", New AttributeValueToken(1233)},
|
|
||||||
{"{1234}", New AttributeValueToken(1234)},
|
|
||||||
{"{1235}", New AttributeValueToken(1235)}
|
|
||||||
}
|
|
||||||
|
|
||||||
Private ReadOnly TokenListDate As New Dictionary(Of String, Object) From {
|
|
||||||
{"heute", New DateToken(Date.Now)},
|
|
||||||
{"gestern", New DateToken(Date.Now.AddDays(-1))},
|
|
||||||
{"letzte Woche", New DateToken(TimeSpan.FromDays(-7))},
|
|
||||||
{"letzter Monat", New DateToken(TimeSpan.FromDays(-30))}
|
|
||||||
}
|
|
||||||
|
|
||||||
Private TokenListDefault As Dictionary(Of String, Object)
|
|
||||||
Private TokenListAll As Dictionary(Of String, Object)
|
|
||||||
|
|
||||||
Private Sub XtraForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
||||||
Dim TokenList As New Dictionary(Of String, Object)
|
|
||||||
TokenListAll = TokenList.
|
|
||||||
Concat(TokenListAttributes).
|
|
||||||
Concat(TokenListAttrValues).
|
|
||||||
Concat(TokenListDate).
|
|
||||||
ToDictionary(Function(a) a.Key, Function(a) a.Value)
|
|
||||||
|
|
||||||
TokenListDefault = TokenList.
|
|
||||||
Concat(TokenListAttributes).
|
|
||||||
Concat(TokenListDate).
|
|
||||||
ToDictionary(Function(a) a.Key, Function(a) a.Value)
|
|
||||||
|
|
||||||
AddTokens(SearchControl2, TokenListDefault)
|
|
||||||
|
|
||||||
ComboBoxEdit1.SelectedIndex = 0
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Enum [ValueType]
|
|
||||||
AttributeName
|
|
||||||
AttributeValue
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum [InputMode]
|
|
||||||
[Default]
|
|
||||||
Value
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Class TokenValue
|
|
||||||
Public Value As Object
|
|
||||||
Public Type As [ValueType]
|
|
||||||
|
|
||||||
Public Overrides Function ToString() As String
|
|
||||||
Return Value.ToString()
|
|
||||||
End Function
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class AttributeToken
|
|
||||||
Inherits TokenValue
|
|
||||||
|
|
||||||
Public Sub New(pValue As Object)
|
|
||||||
Value = pValue
|
|
||||||
Type = ValueType.AttributeName
|
|
||||||
End Sub
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class AttributeValueToken
|
|
||||||
Inherits TokenValue
|
|
||||||
|
|
||||||
Public Sub New(pValue As Object)
|
|
||||||
Value = pValue
|
|
||||||
Type = ValueType.AttributeValue
|
|
||||||
End Sub
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class DateToken
|
|
||||||
Inherits TokenValue
|
|
||||||
|
|
||||||
Public Sub New(pValue As Object)
|
|
||||||
Value = pValue
|
|
||||||
Type = ValueType.AttributeValue
|
|
||||||
End Sub
|
|
||||||
End Class
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub AddTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
|
|
||||||
For Each oToken In Tokens
|
|
||||||
Editor.Properties.Tokens.Add(New DevExpress.XtraEditors.TokenEditToken With {
|
|
||||||
.Description = oToken.Key,
|
|
||||||
.Value = oToken.Value
|
|
||||||
})
|
|
||||||
Next
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub SearchControl2_Properties_TokenAdded(sender As Object, e As DevExpress.XtraEditors.TokenEditTokenAddedEventArgs) Handles SearchControl2.Properties.TokenAdded
|
|
||||||
Dim oEditor As TokenEdit = sender
|
|
||||||
SetNewTokens(oEditor)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub SearchControl2_Properties_TokenRemoved(sender As Object, e As TokenEditTokenRemovedEventArgs) Handles SearchControl2.Properties.TokenRemoved
|
|
||||||
Dim oEditor As TokenEdit = sender
|
|
||||||
SetNewTokens(oEditor)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub SetNewTokens(pEditor As TokenEdit)
|
|
||||||
Dim oLastToken = pEditor.GetTokenList().LastOrDefault()
|
|
||||||
pEditor.Properties.BeginUpdate()
|
|
||||||
|
|
||||||
If oLastToken IsNot Nothing Then
|
|
||||||
pEditor.Properties.Tokens.Clear()
|
|
||||||
|
|
||||||
Select Case oLastToken.Value.GetType
|
|
||||||
Case GetType(AttributeToken)
|
|
||||||
AddTokens(pEditor, TokenListAttrValues)
|
|
||||||
|
|
||||||
Case GetType(AttributeValueToken)
|
|
||||||
AddTokens(pEditor, TokenListAll)
|
|
||||||
|
|
||||||
Case Else
|
|
||||||
AddTokens(pEditor, TokenListDefault)
|
|
||||||
|
|
||||||
End Select
|
|
||||||
|
|
||||||
pEditor.Properties.EndUpdate()
|
|
||||||
Else
|
|
||||||
pEditor.Properties.Tokens.Clear()
|
|
||||||
AddTokens(pEditor, TokenListDefault)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
End Class
|
|
||||||
320
GUIs.ZooFlow/Search/frmSearchNeu.Designer.vb
generated
Normal file
320
GUIs.ZooFlow/Search/frmSearchNeu.Designer.vb
generated
Normal file
@@ -0,0 +1,320 @@
|
|||||||
|
Imports DevExpress.XtraEditors
|
||||||
|
Imports DevExpress.XtraGrid
|
||||||
|
Imports DevExpress.XtraGrid.Views.Grid
|
||||||
|
|
||||||
|
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||||
|
Partial Class frmSearchNeu
|
||||||
|
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
|
||||||
|
|
||||||
|
'Form overrides dispose to clean up the component list.
|
||||||
|
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||||
|
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||||
|
If disposing AndAlso components IsNot Nothing Then
|
||||||
|
components.Dispose()
|
||||||
|
End If
|
||||||
|
MyBase.Dispose(disposing)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Required by the Windows Form Designer
|
||||||
|
Private components As System.ComponentModel.IContainer
|
||||||
|
|
||||||
|
'NOTE: The following procedure is required by the Windows Form Designer
|
||||||
|
'It can be modified using the Windows Form Designer.
|
||||||
|
'Do not modify it using the code editor.
|
||||||
|
<System.Diagnostics.DebuggerStepThrough()> _
|
||||||
|
Private Sub InitializeComponent()
|
||||||
|
Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl()
|
||||||
|
Me.NavBarGroup1 = New DevExpress.XtraNavBar.NavBarGroup()
|
||||||
|
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
|
||||||
|
Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl()
|
||||||
|
Me.SplitContainerControl3 = New DevExpress.XtraEditors.SplitContainerControl()
|
||||||
|
Me.Button1 = New System.Windows.Forms.Button()
|
||||||
|
Me.cmbSelect = New DevExpress.XtraEditors.ComboBoxEdit()
|
||||||
|
Me.SearchControl2 = New DevExpress.XtraEditors.TokenEdit()
|
||||||
|
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
|
||||||
|
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||||
|
Me.colParenLeft = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||||
|
Me.colAttribute = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||||
|
Me.colOperator = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||||
|
Me.colValue = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||||
|
Me.colParenRight = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||||
|
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||||
|
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
|
||||||
|
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.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||||
|
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
Me.SplitContainerControl1.SuspendLayout()
|
||||||
|
CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
Me.SplitContainerControl2.SuspendLayout()
|
||||||
|
CType(Me.SplitContainerControl3, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
Me.SplitContainerControl3.SuspendLayout()
|
||||||
|
CType(Me.cmbSelect.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
Me.SuspendLayout()
|
||||||
|
'
|
||||||
|
'NavBarControl1
|
||||||
|
'
|
||||||
|
Me.NavBarControl1.ActiveGroup = Me.NavBarGroup1
|
||||||
|
Me.NavBarControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.NavBarControl1.Groups.AddRange(New DevExpress.XtraNavBar.NavBarGroup() {Me.NavBarGroup1})
|
||||||
|
Me.NavBarControl1.Location = New System.Drawing.Point(0, 0)
|
||||||
|
Me.NavBarControl1.Name = "NavBarControl1"
|
||||||
|
Me.NavBarControl1.OptionsNavPane.ExpandedWidth = 163
|
||||||
|
Me.NavBarControl1.Size = New System.Drawing.Size(163, 193)
|
||||||
|
Me.NavBarControl1.TabIndex = 4
|
||||||
|
Me.NavBarControl1.Text = "NavBarControl1"
|
||||||
|
'
|
||||||
|
'NavBarGroup1
|
||||||
|
'
|
||||||
|
Me.NavBarGroup1.Caption = "NavBarGroup1"
|
||||||
|
Me.NavBarGroup1.Expanded = True
|
||||||
|
Me.NavBarGroup1.Name = "NavBarGroup1"
|
||||||
|
'
|
||||||
|
'SplitContainerControl1
|
||||||
|
'
|
||||||
|
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 0)
|
||||||
|
Me.SplitContainerControl1.Name = "SplitContainerControl1"
|
||||||
|
Me.SplitContainerControl1.Panel1.Controls.Add(Me.NavBarControl1)
|
||||||
|
Me.SplitContainerControl1.Panel1.Text = "Panel1"
|
||||||
|
Me.SplitContainerControl1.Panel2.Text = "Panel2"
|
||||||
|
Me.SplitContainerControl1.Size = New System.Drawing.Size(984, 193)
|
||||||
|
Me.SplitContainerControl1.SplitterPosition = 163
|
||||||
|
Me.SplitContainerControl1.TabIndex = 7
|
||||||
|
'
|
||||||
|
'SplitContainerControl2
|
||||||
|
'
|
||||||
|
Me.SplitContainerControl2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.SplitContainerControl2.Horizontal = False
|
||||||
|
Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 94)
|
||||||
|
Me.SplitContainerControl2.Name = "SplitContainerControl2"
|
||||||
|
Me.SplitContainerControl2.Panel1.Controls.Add(Me.SplitContainerControl3)
|
||||||
|
Me.SplitContainerControl2.Panel1.Text = "Panel1"
|
||||||
|
Me.SplitContainerControl2.Panel2.Controls.Add(Me.SplitContainerControl1)
|
||||||
|
Me.SplitContainerControl2.Panel2.Text = "Panel2"
|
||||||
|
Me.SplitContainerControl2.Size = New System.Drawing.Size(984, 493)
|
||||||
|
Me.SplitContainerControl2.SplitterPosition = 290
|
||||||
|
Me.SplitContainerControl2.TabIndex = 8
|
||||||
|
'
|
||||||
|
'SplitContainerControl3
|
||||||
|
'
|
||||||
|
Me.SplitContainerControl3.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.SplitContainerControl3.Horizontal = False
|
||||||
|
Me.SplitContainerControl3.IsSplitterFixed = True
|
||||||
|
Me.SplitContainerControl3.Location = New System.Drawing.Point(0, 0)
|
||||||
|
Me.SplitContainerControl3.Name = "SplitContainerControl3"
|
||||||
|
Me.SplitContainerControl3.Panel1.Controls.Add(Me.Button1)
|
||||||
|
Me.SplitContainerControl3.Panel1.Controls.Add(Me.cmbSelect)
|
||||||
|
Me.SplitContainerControl3.Panel1.Controls.Add(Me.SearchControl2)
|
||||||
|
Me.SplitContainerControl3.Panel1.Text = "Panel1"
|
||||||
|
Me.SplitContainerControl3.Panel2.Controls.Add(Me.GridControl1)
|
||||||
|
Me.SplitContainerControl3.Panel2.Text = "Panel2"
|
||||||
|
Me.SplitContainerControl3.Size = New System.Drawing.Size(984, 290)
|
||||||
|
Me.SplitContainerControl3.SplitterPosition = 55
|
||||||
|
Me.SplitContainerControl3.TabIndex = 9
|
||||||
|
'
|
||||||
|
'Button1
|
||||||
|
'
|
||||||
|
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||||
|
Me.Button1.Location = New System.Drawing.Point(886, 6)
|
||||||
|
Me.Button1.Name = "Button1"
|
||||||
|
Me.Button1.Size = New System.Drawing.Size(95, 44)
|
||||||
|
Me.Button1.TabIndex = 5
|
||||||
|
Me.Button1.Text = "Suchen"
|
||||||
|
Me.Button1.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'cmbSelect
|
||||||
|
'
|
||||||
|
Me.cmbSelect.Location = New System.Drawing.Point(3, 6)
|
||||||
|
Me.cmbSelect.Name = "cmbSelect"
|
||||||
|
Me.cmbSelect.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
|
||||||
|
Me.cmbSelect.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||||
|
Me.cmbSelect.Properties.Appearance.Options.UseBackColor = True
|
||||||
|
Me.cmbSelect.Properties.Appearance.Options.UseFont = True
|
||||||
|
Me.cmbSelect.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
|
||||||
|
Me.cmbSelect.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
|
||||||
|
Me.cmbSelect.Properties.Items.AddRange(New Object() {"Alle", "Belege", "Rechnungen", "Lieferscheine", "Aufträge", "Angebote", "Kunde Schaum", "Kunde medacom"})
|
||||||
|
Me.cmbSelect.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor
|
||||||
|
Me.cmbSelect.Size = New System.Drawing.Size(113, 44)
|
||||||
|
Me.cmbSelect.TabIndex = 4
|
||||||
|
'
|
||||||
|
'SearchControl2
|
||||||
|
'
|
||||||
|
Me.SearchControl2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||||
|
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||||
|
Me.SearchControl2.Location = New System.Drawing.Point(115, 6)
|
||||||
|
Me.SearchControl2.Name = "SearchControl2"
|
||||||
|
Me.SearchControl2.Properties.Appearance.BackColor = System.Drawing.Color.Transparent
|
||||||
|
Me.SearchControl2.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||||
|
Me.SearchControl2.Properties.Appearance.Options.UseBackColor = True
|
||||||
|
Me.SearchControl2.Properties.Appearance.Options.UseFont = True
|
||||||
|
Me.SearchControl2.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
|
||||||
|
Me.SearchControl2.Properties.EditMode = DevExpress.XtraEditors.TokenEditMode.Manual
|
||||||
|
Me.SearchControl2.Properties.EditValueType = DevExpress.XtraEditors.TokenEditValueType.List
|
||||||
|
Me.SearchControl2.Properties.PopupFilterMode = DevExpress.XtraEditors.TokenEditPopupFilterMode.Contains
|
||||||
|
Me.SearchControl2.Properties.Separators.AddRange(New String() {",", "-", "ODER", "OR", "AND", "UND"})
|
||||||
|
Me.SearchControl2.Size = New System.Drawing.Size(772, 44)
|
||||||
|
Me.SearchControl2.TabIndex = 3
|
||||||
|
'
|
||||||
|
'GridControl1
|
||||||
|
'
|
||||||
|
Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
|
Me.GridControl1.Location = New System.Drawing.Point(0, 0)
|
||||||
|
Me.GridControl1.MainView = Me.GridView1
|
||||||
|
Me.GridControl1.Name = "GridControl1"
|
||||||
|
Me.GridControl1.Size = New System.Drawing.Size(984, 225)
|
||||||
|
Me.GridControl1.TabIndex = 8
|
||||||
|
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
|
||||||
|
'
|
||||||
|
'GridView1
|
||||||
|
'
|
||||||
|
Me.GridView1.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colParenLeft, Me.colAttribute, Me.colOperator, Me.colValue, Me.colParenRight})
|
||||||
|
Me.GridView1.GridControl = Me.GridControl1
|
||||||
|
Me.GridView1.Name = "GridView1"
|
||||||
|
'
|
||||||
|
'colParenLeft
|
||||||
|
'
|
||||||
|
Me.colParenLeft.Caption = "("
|
||||||
|
Me.colParenLeft.FieldName = "ParentLeft"
|
||||||
|
Me.colParenLeft.Name = "colParenLeft"
|
||||||
|
Me.colParenLeft.Visible = True
|
||||||
|
Me.colParenLeft.VisibleIndex = 0
|
||||||
|
'
|
||||||
|
'colAttribute
|
||||||
|
'
|
||||||
|
Me.colAttribute.Caption = "Attribut"
|
||||||
|
Me.colAttribute.FieldName = "Key"
|
||||||
|
Me.colAttribute.Name = "colAttribute"
|
||||||
|
Me.colAttribute.Visible = True
|
||||||
|
Me.colAttribute.VisibleIndex = 1
|
||||||
|
'
|
||||||
|
'colOperator
|
||||||
|
'
|
||||||
|
Me.colOperator.Caption = "Operand"
|
||||||
|
Me.colOperator.FieldName = "Op"
|
||||||
|
Me.colOperator.Name = "colOperator"
|
||||||
|
Me.colOperator.Visible = True
|
||||||
|
Me.colOperator.VisibleIndex = 2
|
||||||
|
'
|
||||||
|
'colValue
|
||||||
|
'
|
||||||
|
Me.colValue.Caption = "Wert"
|
||||||
|
Me.colValue.FieldName = "Value"
|
||||||
|
Me.colValue.Name = "colValue"
|
||||||
|
Me.colValue.Visible = True
|
||||||
|
Me.colValue.VisibleIndex = 3
|
||||||
|
'
|
||||||
|
'colParenRight
|
||||||
|
'
|
||||||
|
Me.colParenRight.Caption = ")"
|
||||||
|
Me.colParenRight.FieldName = "ParenRight"
|
||||||
|
Me.colParenRight.Name = "colParenRight"
|
||||||
|
Me.colParenRight.Visible = True
|
||||||
|
Me.colParenRight.VisibleIndex = 4
|
||||||
|
'
|
||||||
|
'RibbonControl1
|
||||||
|
'
|
||||||
|
Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
|
||||||
|
Me.RibbonControl1.ExpandCollapseItem.Id = 0
|
||||||
|
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1})
|
||||||
|
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
|
||||||
|
Me.RibbonControl1.MaxItemId = 2
|
||||||
|
Me.RibbonControl1.Name = "RibbonControl1"
|
||||||
|
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
|
||||||
|
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
|
||||||
|
Me.RibbonControl1.Size = New System.Drawing.Size(984, 94)
|
||||||
|
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
|
||||||
|
'
|
||||||
|
'BarButtonItem1
|
||||||
|
'
|
||||||
|
Me.BarButtonItem1.Caption = "BarButtonItem1"
|
||||||
|
Me.BarButtonItem1.Id = 1
|
||||||
|
Me.BarButtonItem1.Name = "BarButtonItem1"
|
||||||
|
'
|
||||||
|
'RibbonPage1
|
||||||
|
'
|
||||||
|
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
|
||||||
|
Me.RibbonPage1.Name = "RibbonPage1"
|
||||||
|
Me.RibbonPage1.Text = "RibbonPage1"
|
||||||
|
'
|
||||||
|
'RibbonPageGroup1
|
||||||
|
'
|
||||||
|
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
|
||||||
|
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
|
||||||
|
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
|
||||||
|
'
|
||||||
|
'RibbonPageGroup2
|
||||||
|
'
|
||||||
|
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
|
||||||
|
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
|
||||||
|
'
|
||||||
|
'RibbonStatusBar1
|
||||||
|
'
|
||||||
|
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 587)
|
||||||
|
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
|
||||||
|
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
|
||||||
|
Me.RibbonStatusBar1.Size = New System.Drawing.Size(984, 22)
|
||||||
|
'
|
||||||
|
'RibbonPage2
|
||||||
|
'
|
||||||
|
Me.RibbonPage2.Name = "RibbonPage2"
|
||||||
|
Me.RibbonPage2.Text = "RibbonPage2"
|
||||||
|
'
|
||||||
|
'frmSearchNeu
|
||||||
|
'
|
||||||
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
|
Me.ClientSize = New System.Drawing.Size(984, 609)
|
||||||
|
Me.Controls.Add(Me.SplitContainerControl2)
|
||||||
|
Me.Controls.Add(Me.RibbonStatusBar1)
|
||||||
|
Me.Controls.Add(Me.RibbonControl1)
|
||||||
|
Me.Name = "frmSearchNeu"
|
||||||
|
Me.Ribbon = Me.RibbonControl1
|
||||||
|
Me.StatusBar = Me.RibbonStatusBar1
|
||||||
|
Me.Text = "frmSearchNeu"
|
||||||
|
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
Me.SplitContainerControl1.ResumeLayout(False)
|
||||||
|
CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
Me.SplitContainerControl2.ResumeLayout(False)
|
||||||
|
CType(Me.SplitContainerControl3, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
Me.SplitContainerControl3.ResumeLayout(False)
|
||||||
|
CType(Me.cmbSelect.Properties, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.SearchControl2.Properties, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
Me.ResumeLayout(False)
|
||||||
|
Me.PerformLayout()
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Friend WithEvents NavBarControl1 As DevExpress.XtraNavBar.NavBarControl
|
||||||
|
Friend WithEvents NavBarGroup1 As DevExpress.XtraNavBar.NavBarGroup
|
||||||
|
Friend WithEvents SplitContainerControl1 As SplitContainerControl
|
||||||
|
Friend WithEvents SplitContainerControl2 As SplitContainerControl
|
||||||
|
Friend WithEvents SplitContainerControl3 As SplitContainerControl
|
||||||
|
Friend WithEvents GridControl1 As GridControl
|
||||||
|
Friend WithEvents GridView1 As GridView
|
||||||
|
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
|
||||||
|
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||||
|
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||||
|
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||||
|
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
|
||||||
|
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||||
|
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
|
||||||
|
Friend WithEvents colParenLeft As Columns.GridColumn
|
||||||
|
Friend WithEvents colAttribute As Columns.GridColumn
|
||||||
|
Friend WithEvents colOperator As Columns.GridColumn
|
||||||
|
Friend WithEvents colValue As Columns.GridColumn
|
||||||
|
Friend WithEvents colParenRight As Columns.GridColumn
|
||||||
|
Friend WithEvents Button1 As Button
|
||||||
|
Friend WithEvents cmbSelect As ComboBoxEdit
|
||||||
|
Friend WithEvents SearchControl2 As TokenEdit
|
||||||
|
End Class
|
||||||
123
GUIs.ZooFlow/Search/frmSearchNeu.vb
Normal file
123
GUIs.ZooFlow/Search/frmSearchNeu.vb
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
Imports System.Collections
|
||||||
|
Imports System.ComponentModel
|
||||||
|
Imports DevExpress.XtraEditors
|
||||||
|
Imports DigitalData.GUIs.ZooFlow.Search
|
||||||
|
Imports DigitalData.GUIs.ZooFlow.Search.SearchToken
|
||||||
|
Imports DigitalData.Modules.EDMI.API
|
||||||
|
|
||||||
|
Public Class frmSearchNeu
|
||||||
|
Private Search As Search.Search
|
||||||
|
Private Database As DatabaseWithFallback
|
||||||
|
|
||||||
|
Private TokenListDefault As New Dictionary(Of String, Object)
|
||||||
|
Private TokenListOperands As New Dictionary(Of String, Object)
|
||||||
|
Private TokenListAttrValues As New Dictionary(Of String, Object)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub XtraForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||||
|
Database = New DatabaseWithFallback(My.LogConfig, My.Application.Service.Client, My.DatabaseECM, My.DatabaseIDB)
|
||||||
|
Search = New Search.Search(My.LogConfig, My.Application.User, Database)
|
||||||
|
|
||||||
|
Dim oTokens = Search.GetAttributeTokens()
|
||||||
|
AddTokens(SearchControl2, oTokens)
|
||||||
|
|
||||||
|
GridControl1.DataSource = Search.Query
|
||||||
|
cmbSelect.SelectedIndex = 0
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SetTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
|
||||||
|
Editor.Properties.Tokens.Clear()
|
||||||
|
AddTokens(Editor, Tokens)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub AddTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
|
||||||
|
For Each oToken In Tokens
|
||||||
|
Dim oTokenEditToken = New TokenEditToken With {
|
||||||
|
.Description = oToken.Key,
|
||||||
|
.Value = oToken.Value
|
||||||
|
}
|
||||||
|
Editor.Properties.Tokens.Add(oTokenEditToken)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SearchControl2_Properties_TokenAdded(sender As Object, e As DevExpress.XtraEditors.TokenEditTokenAddedEventArgs) Handles SearchControl2.Properties.TokenAdded
|
||||||
|
Dim oEditor As TokenEdit = sender
|
||||||
|
SetNewTokens(oEditor)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SearchControl2_Properties_TokenRemoved(sender As Object, e As TokenEditTokenRemovedEventArgs) Handles SearchControl2.Properties.TokenRemoved
|
||||||
|
Dim oEditor As TokenEdit = sender
|
||||||
|
SetNewTokens(oEditor)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SetNewTokens(pEditor As TokenEdit)
|
||||||
|
Dim oLastToken = pEditor.GetTokenList().LastOrDefault()
|
||||||
|
pEditor.Properties.BeginUpdate()
|
||||||
|
|
||||||
|
If oLastToken IsNot Nothing Then
|
||||||
|
Select Case oLastToken.Value.GetType
|
||||||
|
|
||||||
|
Case GetType(AttributeKeyToken)
|
||||||
|
' After the attribute key comes an operator
|
||||||
|
SetTokens(pEditor, Search.GetOperatorTokens(GetType(String)))
|
||||||
|
Search.InputMode = InputMode.Operator
|
||||||
|
|
||||||
|
Case GetType(AttributeOperatorToken)
|
||||||
|
' After the attribute operator comes a value
|
||||||
|
SetTokens(pEditor, TokenListAttrValues)
|
||||||
|
Search.InputMode = InputMode.Value
|
||||||
|
|
||||||
|
Case GetType(AttributeValueToken)
|
||||||
|
' After the attribute value comes another value
|
||||||
|
SetTokens(pEditor, TokenListAttrValues)
|
||||||
|
Search.InputMode = InputMode.Value
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
SetTokens(pEditor, TokenListDefault)
|
||||||
|
Search.InputMode = InputMode.Default
|
||||||
|
|
||||||
|
End Select
|
||||||
|
Else
|
||||||
|
SetTokens(pEditor, TokenListDefault)
|
||||||
|
Search.InputMode = InputMode.Default
|
||||||
|
End If
|
||||||
|
|
||||||
|
pEditor.Properties.EndUpdate()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SearchControl2_CustomDrawTokenGlyph(sender As Object, e As TokenEditCustomDrawTokenGlyphEventArgs) Handles SearchControl2.CustomDrawTokenGlyph
|
||||||
|
' Set Background according to token type
|
||||||
|
Select Case e.Value.GetType()
|
||||||
|
Case GetType(AttributeKeyToken)
|
||||||
|
e.Graphics.FillRectangle(New SolidBrush(ColorTranslator.FromHtml("#F87171")), e.Bounds)
|
||||||
|
|
||||||
|
Case GetType(AttributeOperatorToken)
|
||||||
|
e.Graphics.FillRectangle(New SolidBrush(ColorTranslator.FromHtml("#34D399")), e.Bounds)
|
||||||
|
|
||||||
|
Case GetType(AttributeValueToken)
|
||||||
|
e.Graphics.FillRectangle(New SolidBrush(ColorTranslator.FromHtml("#60A5FA")), e.Bounds)
|
||||||
|
Case Else
|
||||||
|
End Select
|
||||||
|
|
||||||
|
' Draw the glyph on top
|
||||||
|
' This fixes: https://supportcenter.devexpress.com/ticket/details/t215578/tokenedit-glyph-is-not-visible-when-customdrawtokentext-is-used
|
||||||
|
e.DefaultDraw()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SearchControl2_KeyUp(sender As Object, e As KeyEventArgs) Handles SearchControl2.KeyUp
|
||||||
|
If Search.InputMode = InputMode.Value And e.KeyCode = Keys.Enter And SearchControl2.IsPopupOpen Then
|
||||||
|
Search.Query.Add(New SearchCriteria With {
|
||||||
|
.ParenLeft = False,
|
||||||
|
.Key = "test",
|
||||||
|
.Op = OperatorToken.Equals,
|
||||||
|
.Value = "test",
|
||||||
|
.ParentRight = False
|
||||||
|
})
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RibbonControl1_Click(sender As Object, e As EventArgs) Handles RibbonControl1.Click
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
@@ -9,7 +9,7 @@ Imports DevExpress.XtraEditors
|
|||||||
Imports DevExpress.XtraSplashScreen
|
Imports DevExpress.XtraSplashScreen
|
||||||
Imports DigitalData.GUIs.Common
|
Imports DigitalData.GUIs.Common
|
||||||
Imports DigitalData.GUIs.ZooFlow.ClassConstants
|
Imports DigitalData.GUIs.ZooFlow.ClassConstants
|
||||||
Imports DigitalData.GUIs.ZooFlow.SearchFilter
|
Imports DigitalData.GUIs.ZooFlow.Search.SearchFilter
|
||||||
Imports System.Threading.Tasks
|
Imports System.Threading.Tasks
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -70,6 +70,10 @@
|
|||||||
<Reference Include="DevExpress.Data.v19.2" />
|
<Reference Include="DevExpress.Data.v19.2" />
|
||||||
<Reference Include="DevExpress.DataAccess.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
<Reference Include="DevExpress.DataAccess.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||||
<Reference Include="DevExpress.DataAccess.v19.2.UI, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
<Reference Include="DevExpress.DataAccess.v19.2.UI, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||||
|
<Reference Include="DevExpress.Images.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Images.v19.2.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="DevExpress.Office.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
<Reference Include="DevExpress.Office.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||||
<Reference Include="DevExpress.Printing.v19.2.Core" />
|
<Reference Include="DevExpress.Printing.v19.2.Core" />
|
||||||
<Reference Include="DevExpress.RichEdit.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
<Reference Include="DevExpress.RichEdit.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||||
@@ -285,6 +289,12 @@
|
|||||||
<Compile Include="Globix\frmGlobix_Index.vb">
|
<Compile Include="Globix\frmGlobix_Index.vb">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Search\frmSearchNeu.Designer.vb">
|
||||||
|
<DependentUpon>frmSearchNeu.vb</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Search\frmSearchNeu.vb">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Search\frmSearchPredefined.Designer.vb">
|
<Compile Include="Search\frmSearchPredefined.Designer.vb">
|
||||||
<DependentUpon>frmSearchPredefined.vb</DependentUpon>
|
<DependentUpon>frmSearchPredefined.vb</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -335,18 +345,16 @@
|
|||||||
<Compile Include="My Project\Application.Designer.vb">
|
<Compile Include="My Project\Application.Designer.vb">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DependentUpon>Application.myapp</DependentUpon>
|
<DependentUpon>Application.myapp</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||||
<Compile Include="MyApplication.vb" />
|
<Compile Include="MyApplication.vb" />
|
||||||
<Compile Include="Queries\ClassQueries.vb" />
|
<Compile Include="Queries\ClassQueries.vb" />
|
||||||
|
<Compile Include="Search\Search.vb" />
|
||||||
|
<Compile Include="Search\SearchCriteria.vb" />
|
||||||
<Compile Include="Search\SearchFilter.vb" />
|
<Compile Include="Search\SearchFilter.vb" />
|
||||||
|
<Compile Include="Search\SearchToken.vb" />
|
||||||
<Compile Include="Search\State.vb" />
|
<Compile Include="Search\State.vb" />
|
||||||
<Compile Include="Search\frmSearch2021.Designer.vb">
|
|
||||||
<DependentUpon>frmSearch2021.vb</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Search\frmSearch2021.vb">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<EmbeddedResource Include="Administration\frmAdmin_ClipboardWatcher.resx">
|
<EmbeddedResource Include="Administration\frmAdmin_ClipboardWatcher.resx">
|
||||||
<DependentUpon>frmAdmin_ClipboardWatcher.vb</DependentUpon>
|
<DependentUpon>frmAdmin_ClipboardWatcher.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@@ -392,6 +400,9 @@
|
|||||||
<EmbeddedResource Include="Globix\frmGlobix_Index.resx">
|
<EmbeddedResource Include="Globix\frmGlobix_Index.resx">
|
||||||
<DependentUpon>frmGlobix_Index.vb</DependentUpon>
|
<DependentUpon>frmGlobix_Index.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Search\frmSearchNeu.resx">
|
||||||
|
<DependentUpon>frmSearchNeu.vb</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Search\frmSearchPredefined.resx">
|
<EmbeddedResource Include="Search\frmSearchPredefined.resx">
|
||||||
<DependentUpon>frmSearchPredefined.vb</DependentUpon>
|
<DependentUpon>frmSearchPredefined.vb</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@@ -411,9 +422,6 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Search\frmSearch2021.resx">
|
|
||||||
<DependentUpon>frmSearch2021.vb</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
<None Include="DBCW_Stammdaten.xsc">
|
<None Include="DBCW_Stammdaten.xsc">
|
||||||
<DependentUpon>DBCW_Stammdaten.xsd</DependentUpon>
|
<DependentUpon>DBCW_Stammdaten.xsd</DependentUpon>
|
||||||
|
|||||||
@@ -204,16 +204,15 @@ Public Class frmFlowForm
|
|||||||
Next
|
Next
|
||||||
|
|
||||||
AddHandler Watcher.ClipboardChanged, AddressOf Watcher_ClipboardChanged
|
AddHandler Watcher.ClipboardChanged, AddressOf Watcher_ClipboardChanged
|
||||||
Dim oSQL As String
|
|
||||||
' Dim oSQL = My.Queries.Common.FNIDB_GET_SEARCH_PROFILES(My.Application.User.UserId, My.Application.User.Language)
|
|
||||||
'Dim oDatatable As DataTable = My.DatabaseIDB.GetDatatable(oSQL)
|
|
||||||
PictureBoxSearch1.Visible = False
|
|
||||||
|
|
||||||
'If Not IsNothing(oDatatable) OrElse oDatatable.Rows.Count > 0 Then
|
Dim oSQL = My.Queries.Common.FNIDB_GET_SEARCH_PROFILES(My.Application.User.UserId, My.Application.User.Language)
|
||||||
' IDBSearchActive = True
|
Dim oDatatable As DataTable = My.DatabaseIDB.GetDatatable(oSql)
|
||||||
' DTIDB_SEARCHES = oDatatable
|
PictureBoxSearch1.Visible = False
|
||||||
' PictureBoxSearch1.Visible = True
|
If Not IsNothing(oDatatable) OrElse oDatatable.Rows.Count > 0 Then
|
||||||
'End If
|
IDBSearchActive = True
|
||||||
|
DTIDB_SEARCHES = oDatatable
|
||||||
|
PictureBoxSearch1.Visible = True
|
||||||
|
End If
|
||||||
|
|
||||||
If My.Application.ModulesActive.Contains(MODULE_CLIPBOARDWATCHER) Then
|
If My.Application.ModulesActive.Contains(MODULE_CLIPBOARDWATCHER) Then
|
||||||
Try
|
Try
|
||||||
@@ -256,8 +255,6 @@ Public Class frmFlowForm
|
|||||||
Logger.Info("Clipboard Watcher Module is not active. Hotkey Monitoring will be disabled!")
|
Logger.Info("Clipboard Watcher Module is not active. Hotkey Monitoring will be disabled!")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If My.Application.ModulesActive.Contains(MODULE_GLOBAL_INDEXER) Then
|
If My.Application.ModulesActive.Contains(MODULE_GLOBAL_INDEXER) Then
|
||||||
FileDrop = New ClassFileDrop(My.LogConfig)
|
FileDrop = New ClassFileDrop(My.LogConfig)
|
||||||
FileHandle = New ClassFilehandle()
|
FileHandle = New ClassFilehandle()
|
||||||
@@ -403,7 +400,7 @@ Public Class frmFlowForm
|
|||||||
Logger.Debug("OnEvent called!")
|
Logger.Debug("OnEvent called!")
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
|
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
|
||||||
frmSearch2021.Show()
|
frmSearchNeu.Show()
|
||||||
|
|
||||||
'Open_FlowSearch()
|
'Open_FlowSearch()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1011,9 +1008,5 @@ Public Class frmFlowForm
|
|||||||
frmtest.Show()
|
frmtest.Show()
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub PictureBoxGlobix1_Click(sender As Object, e As EventArgs) Handles PictureBoxGlobix1.Click
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ Public Class frmtest
|
|||||||
Dim oResult As Long = Await My.Application.Service.Client.NewFileAsync(
|
Dim oResult As Long = Await My.Application.Service.Client.NewFileAsync(
|
||||||
txtFile2Import.Text,
|
txtFile2Import.Text,
|
||||||
"WORK",
|
"WORK",
|
||||||
|
"DOC",
|
||||||
"DEFAULT",
|
"DEFAULT",
|
||||||
New NewFileOptions With {
|
New NewFileOptions With {
|
||||||
.KeepExtension = CheckBoxKeepExtension.Checked,
|
.KeepExtension = CheckBoxKeepExtension.Checked,
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ Public Class MSSQLServer
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
''' <param name="Connection"></param>
|
''' <param name="Connection"></param>
|
||||||
''' <returns></returns>
|
''' <returns></returns>
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Private Function OpenSQLConnection(Connection As SqlConnection) As SqlConnection
|
Private Function OpenSQLConnection(Connection As SqlConnection) As SqlConnection
|
||||||
If Connection.State = ConnectionState.Closed Then
|
If Connection.State = ConnectionState.Closed Then
|
||||||
Connection.Open()
|
Connection.Open()
|
||||||
@@ -234,12 +234,12 @@ Public Class MSSQLServer
|
|||||||
Return Connection
|
Return Connection
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Private Function GetSQLConnection() As SqlConnection
|
Private Function GetSQLConnection() As SqlConnection
|
||||||
Return GetConnection(CurrentSQLConnectionString)
|
Return GetConnection(CurrentSQLConnectionString)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Private Function GetConnection(ConnectionString As String) As SqlConnection
|
Private Function GetConnection(ConnectionString As String) As SqlConnection
|
||||||
Try
|
Try
|
||||||
Dim oConnection As New SqlConnection(ConnectionString)
|
Dim oConnection As New SqlConnection(ConnectionString)
|
||||||
@@ -272,7 +272,7 @@ Public Class MSSQLServer
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Public Function GetDatatable(SqlCommand As String) As DataTable Implements IDatabase.GetDatatable
|
Public Function GetDatatable(SqlCommand As String) As DataTable Implements IDatabase.GetDatatable
|
||||||
Return GetDatatable(SqlCommand, _Timeout)
|
Return GetDatatable(SqlCommand, _Timeout)
|
||||||
End Function
|
End Function
|
||||||
@@ -282,33 +282,33 @@ Public Class MSSQLServer
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
''' <param name="SqlCommand">sqlcommand for datatable (select XYZ from TableORView)</param>
|
''' <param name="SqlCommand">sqlcommand for datatable (select XYZ from TableORView)</param>
|
||||||
''' <returns>Returns a datatable</returns>
|
''' <returns>Returns a datatable</returns>
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Public Function GetDatatable(SqlCommand As String, Timeout As Integer) As DataTable Implements IDatabase.GetDatatable
|
Public Function GetDatatable(SqlCommand As String, Timeout As Integer) As DataTable Implements IDatabase.GetDatatable
|
||||||
Using oSqlConnection = GetSQLConnection()
|
Using oSqlConnection = GetSQLConnection()
|
||||||
Return GetDatatableWithConnectionObject(SqlCommand, oSqlConnection, TransactionMode.WithTransaction, Nothing, Timeout)
|
Return GetDatatableWithConnectionObject(SqlCommand, oSqlConnection, TransactionMode.WithTransaction, Nothing, Timeout)
|
||||||
End Using
|
End Using
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Public Function GetDatatable(SqlCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As DataTable
|
Public Function GetDatatable(SqlCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As DataTable
|
||||||
Using oSqlConnection = GetSQLConnection()
|
Using oSqlConnection = GetSQLConnection()
|
||||||
Return GetDatatableWithConnectionObject(SqlCommand, oSqlConnection, TransactionMode.ExternalTransaction, Transaction, Timeout)
|
Return GetDatatableWithConnectionObject(SqlCommand, oSqlConnection, TransactionMode.ExternalTransaction, Transaction, Timeout)
|
||||||
End Using
|
End Using
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Public Async Function GetDatatableAsync(SqlCommand As String, Optional Timeout As Integer = 120) As Task(Of DataTable)
|
Public Async Function GetDatatableAsync(SqlCommand As String, Optional Timeout As Integer = 120) As Task(Of DataTable)
|
||||||
Return Await Task.Run(Function() GetDatatable(SqlCommand, Timeout))
|
Return Await Task.Run(Function() GetDatatable(SqlCommand, Timeout))
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Public Function GetDatatableWithConnection(SqlCommand As String, ConnectionString As String, Optional Timeout As Integer = 120) As DataTable
|
Public Function GetDatatableWithConnection(SqlCommand As String, ConnectionString As String, Optional Timeout As Integer = 120) As DataTable
|
||||||
Using oConnection = GetConnection(ConnectionString)
|
Using oConnection = GetConnection(ConnectionString)
|
||||||
Return GetDatatableWithConnectionObject(SqlCommand, oConnection, Timeout:=Timeout)
|
Return GetDatatableWithConnectionObject(SqlCommand, oConnection, Timeout:=Timeout)
|
||||||
End Using
|
End Using
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
<DebuggerStepThrough()>
|
'<DebuggerStepThrough()>
|
||||||
Public Function GetDatatableWithConnectionObject(SqlCommand As String, SqlConnection As SqlConnection,
|
Public Function GetDatatableWithConnectionObject(SqlCommand As String, SqlConnection As SqlConnection,
|
||||||
Optional TransactionMode As TransactionMode = TransactionMode.WithTransaction,
|
Optional TransactionMode As TransactionMode = TransactionMode.WithTransaction,
|
||||||
Optional Transaction As SqlTransaction = Nothing,
|
Optional Transaction As SqlTransaction = Nothing,
|
||||||
|
|||||||
@@ -47,15 +47,15 @@ Public Class DatabaseWithFallback
|
|||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetDatatable(DataTable As String, FallbackSQL As String, FallbackType As Constants.DatabaseType, Optional FilterExpression As String = "", Optional SortByColumn As String = "", Optional ForceFallback As Boolean = False) As DataTable
|
Public Function GetDatatable(pDataTableName As String, pFallbackSQL As String, pFallbackType As Constants.DatabaseType, Optional pFilterExpression As String = "", Optional pSortByColumn As String = "", Optional pForceFallback As Boolean = False) As DataTable
|
||||||
Try
|
Try
|
||||||
Dim oResult As DataTable = Nothing
|
Dim oResult As DataTable = Nothing
|
||||||
|
|
||||||
If ForceFallback = False Then
|
If pForceFallback = False Then
|
||||||
Dim oTableResult As TableResult
|
Dim oTableResult As TableResult
|
||||||
|
|
||||||
Try
|
Try
|
||||||
oTableResult = _Client.GetDatatableByName(DataTable, FilterExpression, SortByColumn)
|
oTableResult = _Client.GetDatatableByName(pDataTableName, pFilterExpression, pSortByColumn)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_Logger.Error(ex)
|
_Logger.Error(ex)
|
||||||
oTableResult = Nothing
|
oTableResult = Nothing
|
||||||
@@ -63,12 +63,12 @@ Public Class DatabaseWithFallback
|
|||||||
|
|
||||||
If oTableResult Is Nothing OrElse oTableResult.OK = False Then
|
If oTableResult Is Nothing OrElse oTableResult.OK = False Then
|
||||||
_Logger.Warn("Datatable [{0}] could not be fetched from AppServer Cache. Falling back to direct Database Access.")
|
_Logger.Warn("Datatable [{0}] could not be fetched from AppServer Cache. Falling back to direct Database Access.")
|
||||||
Return GetDatatableFromDatabase(FallbackSQL, FallbackType)
|
Return GetDatatableFromDatabase(pFallbackSQL, pFallbackType)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Return oTableResult.Table
|
Return oTableResult.Table
|
||||||
Else
|
Else
|
||||||
Return GetDatatableFromDatabase(FallbackSQL, FallbackType)
|
Return GetDatatableFromDatabase(pFallbackSQL, pFallbackType)
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_Logger.Error(ex)
|
_Logger.Error(ex)
|
||||||
@@ -95,32 +95,5 @@ Public Class DatabaseWithFallback
|
|||||||
|
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetUserData(UserName As String, ModuleCode As String, Client As Integer) As UserData
|
|
||||||
'Dim oSQL = $"SELECT * FROM FNDD_CHECK_USER_MODULE('{UserName}','{ModuleCode}',{Client})"
|
|
||||||
'Dim oTable As DataTable = GetDatatable("TBDD_USER_MODULE", $"USERNAME = '{UserName.ToLower}' AND MODULE_SHORT = '{ModuleCode}'", "", oSQL, DatabaseType.ECM)
|
|
||||||
|
|
||||||
'If oTable Is Nothing Then
|
|
||||||
' Return Nothing
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'If oTable.Rows.Count = 0 Then
|
|
||||||
' Return Nothing
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'Dim oRow As DataRow = oTable.Rows.Item(0)
|
|
||||||
'Dim oUserData As New UserData With {
|
|
||||||
' .Id = NotNull(oRow, "USER_ID", -1),
|
|
||||||
' .Surname = NotNull(oRow, "USER_SURNAME", String.Empty),
|
|
||||||
' .Prename = NotNull(oRow, "USER_PRENAME", String.Empty),
|
|
||||||
' .Shortname = NotNull(oRow, "USER_SHORTNAME", String.Empty),
|
|
||||||
' .Email = NotNull(oRow, "USER_EMAIL", String.Empty),
|
|
||||||
' .Language = NotNull(oRow, "USER_LANGUAGE", "de-DE"),
|
|
||||||
' .DateFormat = NotNull(oRow, "USER_DATE_FORMAT", "dd.MM.yyyy")
|
|
||||||
'}
|
|
||||||
|
|
||||||
Throw New NotImplementedException()
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
Public Class UserData
|
|
||||||
Public Id As Integer
|
|
||||||
Public Surname As String
|
|
||||||
Public Prename As String
|
|
||||||
Public Shortname As String
|
|
||||||
Public Email As String
|
|
||||||
Public Language As String
|
|
||||||
Public DateFormat As String
|
|
||||||
|
|
||||||
Public IsAdmin As Boolean
|
|
||||||
Public HasAccess As Boolean
|
|
||||||
|
|
||||||
Public ModuleName As String
|
|
||||||
End Class
|
|
||||||
@@ -97,7 +97,6 @@
|
|||||||
<DependentUpon>Settings.settings</DependentUpon>
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="DatabaseWithFallback\UserData.vb" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="My Project\Resources.resx">
|
<EmbeddedResource Include="My Project\Resources.resx">
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("1.2.3.0")>
|
<Assembly: AssemblyVersion("1.2.4.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.2.3.0")>
|
<Assembly: AssemblyFileVersion("1.2.4.0")>
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ Imports System.Text.RegularExpressions
|
|||||||
Namespace [PatternModule]
|
Namespace [PatternModule]
|
||||||
Public Class BaseModule
|
Public Class BaseModule
|
||||||
Friend ReadOnly Logger As Logger
|
Friend ReadOnly Logger As Logger
|
||||||
|
|
||||||
Private ReadOnly MyRegex As Regex = New Regex("{#(\w+)#([\:\.\w\s_-]+)}+")
|
Private ReadOnly MyRegex As Regex = New Regex("{#(\w+)#([\:\.\w\s_-]+)}+")
|
||||||
|
Private ReadOnly SqlPhrases As New List(Of String) From {
|
||||||
|
"SELECT ", "UPDATE ", "DELETE ", "EXEC "
|
||||||
|
}
|
||||||
|
|
||||||
Private Const MAX_TRY_COUNT = 500
|
Private Const MAX_TRY_COUNT = 500
|
||||||
|
|
||||||
@@ -21,23 +23,37 @@ Namespace [PatternModule]
|
|||||||
pCounter += 1
|
pCounter += 1
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function ReplacePattern(input As String, type As String, replacement As String) As String
|
Public Function ReplacePattern(pInput As String, pType As String, pReplacement As String) As String
|
||||||
Dim elements As MatchCollection = MyRegex.Matches(input)
|
Dim oElements As MatchCollection = MyRegex.Matches(pInput)
|
||||||
|
|
||||||
If IsNothing(replacement) Then
|
If IsNothing(pReplacement) Then
|
||||||
Return input
|
Return pInput
|
||||||
End If
|
End If
|
||||||
|
|
||||||
For Each element As Match In elements
|
Dim oIsSQL As Boolean = False
|
||||||
|
For Each oPhrase In SqlPhrases
|
||||||
|
If pInput.Contains(oPhrase) Then
|
||||||
|
oIsSQL = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If oIsSQL = True Then
|
||||||
|
Logger.Debug("Input string is most likely an SQL Query, masking quotes in replacement string.")
|
||||||
|
pReplacement = pReplacement.Replace("'", "''")
|
||||||
|
End If
|
||||||
|
|
||||||
|
For Each oElement As Match In oElements
|
||||||
' if group 1 contains the 'pattern' the replace whole group with 'replacement'
|
' if group 1 contains the 'pattern' the replace whole group with 'replacement'
|
||||||
' and return it
|
' and return it
|
||||||
If element.Groups(1).Value = type Then
|
If oElement.Groups(1).Value = pType Then
|
||||||
Return Regex.Replace(input, element.Groups(0).Value, replacement)
|
Logger.Debug("Replacing Placeholder with [{0}]", pReplacement)
|
||||||
|
Return Regex.Replace(pInput, oElement.Groups(0).Value, pReplacement)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
' no replacement made
|
' no replacement made
|
||||||
Return input
|
Return pInput
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function ContainsPatternAndValue(pInput As String, pType As String, pValue As String) As Boolean
|
Public Function ContainsPatternAndValue(pInput As String, pType As String, pValue As String) As Boolean
|
||||||
@@ -45,10 +61,10 @@ Namespace [PatternModule]
|
|||||||
|
|
||||||
For Each oElement As Match In oElements
|
For Each oElement As Match In oElements
|
||||||
' Pattern in pInput
|
' Pattern in pInput
|
||||||
Dim t As String = oElement.Groups(1).Value
|
Dim oType As String = oElement.Groups(1).Value
|
||||||
Dim v As String = oElement.Groups(2).Value
|
Dim oValue As String = oElement.Groups(2).Value
|
||||||
|
|
||||||
If t = pType And v = pValue Then
|
If oType = pType And oValue = pValue Then
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -84,16 +100,16 @@ Namespace [PatternModule]
|
|||||||
Return False
|
Return False
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetNextPattern(input As String, type As String) As Pattern
|
Public Function GetNextPattern(pInput As String, pType As String) As Pattern
|
||||||
Dim elements As MatchCollection = MyRegex.Matches(input)
|
Dim oElements As MatchCollection = MyRegex.Matches(pInput)
|
||||||
|
|
||||||
For Each element As Match In elements
|
For Each oElement As Match In oElements
|
||||||
' Pattern in pInput
|
' Pattern in pInput
|
||||||
Dim t As String = element.Groups(1).Value
|
Dim oType As String = oElement.Groups(1).Value
|
||||||
Dim v As String = element.Groups(2).Value
|
Dim oValue As String = oElement.Groups(2).Value
|
||||||
|
|
||||||
If t = type Then
|
If oType = pType Then
|
||||||
Return New Pattern(t, v)
|
Return New Pattern(oType, oValue)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ Namespace [PatternModule]
|
|||||||
Public Const CLIPBOARD_VALUE_EN = "@Clipboard"
|
Public Const CLIPBOARD_VALUE_EN = "@Clipboard"
|
||||||
|
|
||||||
Public Property PatternIdentifier As String = "CLIP" Implements IModule.PatternIdentifier
|
Public Property PatternIdentifier As String = "CLIP" Implements IModule.PatternIdentifier
|
||||||
|
|
||||||
Public Property IsComplex As Boolean = False Implements IModule.IsComplex
|
Public Property IsComplex As Boolean = False Implements IModule.IsComplex
|
||||||
|
|
||||||
Public Sub New(pLogConfig As LogConfig)
|
Public Sub New(pLogConfig As LogConfig)
|
||||||
|
|||||||
@@ -4,55 +4,62 @@ Imports DigitalData.Modules.Logging
|
|||||||
|
|
||||||
Namespace [PatternModule]
|
Namespace [PatternModule]
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Simple patterns that only rely on .NET functions
|
''' Patterns for control values on a panel
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public Class Controls
|
Public Class Controls
|
||||||
Inherits BaseModule
|
Inherits BaseModule
|
||||||
Implements IModule
|
Implements IModule
|
||||||
|
|
||||||
Public Const CTRL_VALUE_PANEL = "PANEL"
|
Public Const CTRL_VALUE_PANEL = "CTRL_VALUE_PANEL"
|
||||||
|
|
||||||
Public Property PatternIdentifier As String = "CTRL" Implements IModule.PatternIdentifier
|
Public Property PatternIdentifier As String = "CTRL" Implements IModule.PatternIdentifier
|
||||||
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
|
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
|
||||||
|
Private ReadOnly Logger As Logger
|
||||||
|
|
||||||
Public Sub New(pLogConfig As LogConfig)
|
Public Sub New(pLogConfig As LogConfig)
|
||||||
MyBase.New(pLogConfig)
|
MyBase.New(pLogConfig)
|
||||||
|
Logger = pLogConfig.GetLogger()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace
|
Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace
|
||||||
Dim oResult = pInput
|
Dim oResult = pInput
|
||||||
Dim oCounter = 0
|
Dim oCounter = 0
|
||||||
Dim oPanel As Panel = pReplaceMap.Item("CTRL_VALUE_PANEL")
|
Dim oPanel As Panel = pReplaceMap.Item(CTRL_VALUE_PANEL)
|
||||||
|
|
||||||
While ContainsPattern(oResult, PatternIdentifier)
|
While ContainsPattern(oResult, PatternIdentifier)
|
||||||
Dim oControlName As String = GetNextPattern(oResult, PatternIdentifier).Value
|
Try
|
||||||
Dim oControl As Control = oPanel.Controls.Find(oControlName, False).FirstOrDefault()
|
Dim oControlName As String = GetNextPattern(oResult, PatternIdentifier).Value
|
||||||
|
Dim oControl As Control = oPanel.Controls.Find(oControlName, False).FirstOrDefault()
|
||||||
|
|
||||||
If oControl IsNot Nothing Then
|
If oControl IsNot Nothing Then
|
||||||
Dim oReplaceValue As String
|
Dim oReplaceValue As String
|
||||||
Select Case oControl.GetType.ToString
|
Select Case oControl.GetType.ToString
|
||||||
Case GetType(TextBox).ToString
|
Case GetType(TextBox).ToString
|
||||||
oReplaceValue = oControl.Text
|
oReplaceValue = oControl.Text
|
||||||
Case GetType(LookupControl3).ToString
|
Case GetType(LookupControl3).ToString
|
||||||
Dim oLookupControl3 As LookupControl3 = oControl
|
Dim oLookupControl3 As LookupControl3 = oControl
|
||||||
If oLookupControl3.Properties.SelectedValues.Count = 1 Then
|
If oLookupControl3.Properties.SelectedValues.Count = 1 Then
|
||||||
oReplaceValue = oLookupControl3.Properties.SelectedValues.Item(0)
|
oReplaceValue = oLookupControl3.Properties.SelectedValues.Item(0)
|
||||||
Else
|
Else
|
||||||
|
oReplaceValue = "0"
|
||||||
|
End If
|
||||||
|
Case GetType(ComboBox).ToString
|
||||||
|
oReplaceValue = oControl.Text
|
||||||
|
Case GetType(CheckBox).ToString
|
||||||
|
Dim oCheckBox As CheckBox = oControl
|
||||||
|
oReplaceValue = oCheckBox.Checked
|
||||||
|
Case Else
|
||||||
oReplaceValue = "0"
|
oReplaceValue = "0"
|
||||||
End If
|
End Select
|
||||||
Case GetType(ComboBox).ToString
|
|
||||||
oReplaceValue = oControl.Text
|
|
||||||
Case GetType(CheckBox).ToString
|
|
||||||
Dim oCheckBox As CheckBox = oControl
|
|
||||||
oReplaceValue = oCheckBox.Checked
|
|
||||||
Case Else
|
|
||||||
oReplaceValue = "0"
|
|
||||||
End Select
|
|
||||||
|
|
||||||
oResult = ReplacePattern(oResult, PatternIdentifier, oReplaceValue)
|
oResult = ReplacePattern(oResult, PatternIdentifier, oReplaceValue)
|
||||||
End If
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Finally
|
||||||
|
IncrementCounterOrThrow(oCounter)
|
||||||
|
End Try
|
||||||
|
|
||||||
IncrementCounterOrThrow(oCounter)
|
|
||||||
End While
|
End While
|
||||||
|
|
||||||
Return oResult
|
Return oResult
|
||||||
|
|||||||
31
Modules.Patterns/Modules/IDB.vb
Normal file
31
Modules.Patterns/Modules/IDB.vb
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
Imports System.Windows.Forms
|
||||||
|
Imports DigitalData.Controls.LookupGrid
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
|
||||||
|
Namespace [PatternModule]
|
||||||
|
''' <summary>
|
||||||
|
''' Patterns for Windream Indicies
|
||||||
|
''' </summary>
|
||||||
|
Public Class IDB
|
||||||
|
Inherits BaseModule
|
||||||
|
Implements IModule
|
||||||
|
|
||||||
|
Public Const IDB_OBJECT_ID = "IDB_OBJECT_ID"
|
||||||
|
|
||||||
|
Public Property PatternIdentifier As String = "IDB" Implements IModule.PatternIdentifier
|
||||||
|
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
|
||||||
|
|
||||||
|
Private ReadOnly Logger As Logger
|
||||||
|
|
||||||
|
Public Sub New(pLogConfig As LogConfig)
|
||||||
|
MyBase.New(pLogConfig)
|
||||||
|
Logger = pLogConfig.GetLogger()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace
|
||||||
|
'TODO: Implement, depends on IDB Data, which is not in monorepo yet
|
||||||
|
|
||||||
|
Return pInput
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
@@ -14,7 +14,6 @@ Namespace [PatternModule]
|
|||||||
Public Const INT_VALUE_DATE = "DATE"
|
Public Const INT_VALUE_DATE = "DATE"
|
||||||
|
|
||||||
Public Property PatternIdentifier As String = "INT" Implements IModule.PatternIdentifier
|
Public Property PatternIdentifier As String = "INT" Implements IModule.PatternIdentifier
|
||||||
|
|
||||||
Public Property IsComplex As Boolean = False Implements IModule.IsComplex
|
Public Property IsComplex As Boolean = False Implements IModule.IsComplex
|
||||||
|
|
||||||
Public Sub New(pLogConfig As LogConfig)
|
Public Sub New(pLogConfig As LogConfig)
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ Namespace [PatternModule]
|
|||||||
Public Const USER_VALUE_USER_NAME = "USER_NAME"
|
Public Const USER_VALUE_USER_NAME = "USER_NAME"
|
||||||
|
|
||||||
Public Property PatternIdentifier As String = "USER" Implements IModule.PatternIdentifier
|
Public Property PatternIdentifier As String = "USER" Implements IModule.PatternIdentifier
|
||||||
|
|
||||||
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
|
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
|
||||||
|
|
||||||
Public Sub New(pLogConfig As LogConfig)
|
Public Sub New(pLogConfig As LogConfig)
|
||||||
|
|||||||
53
Modules.Patterns/Modules/Windream.vb
Normal file
53
Modules.Patterns/Modules/Windream.vb
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
Imports System.Windows.Forms
|
||||||
|
Imports DigitalData.Controls.LookupGrid
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
|
||||||
|
Namespace [PatternModule]
|
||||||
|
''' <summary>
|
||||||
|
''' Patterns for Windream Indicies
|
||||||
|
''' </summary>
|
||||||
|
Public Class Windream
|
||||||
|
Inherits BaseModule
|
||||||
|
Implements IModule
|
||||||
|
|
||||||
|
Public Const WM_VALUE_DOCUMENT = "WM_DOCUMENT"
|
||||||
|
|
||||||
|
Public Property PatternIdentifier As String = "WMI" Implements IModule.PatternIdentifier
|
||||||
|
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
|
||||||
|
|
||||||
|
Private ReadOnly Logger As Logger
|
||||||
|
|
||||||
|
Public Sub New(pLogConfig As LogConfig)
|
||||||
|
MyBase.New(pLogConfig)
|
||||||
|
Logger = pLogConfig.GetLogger()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace
|
||||||
|
Dim oResult = pInput
|
||||||
|
Dim oCounter = 0
|
||||||
|
Dim pWMObject As WINDREAMLib.WMObject = pReplaceMap.Item(WM_VALUE_DOCUMENT)
|
||||||
|
|
||||||
|
While ContainsPattern(oResult, PatternIdentifier)
|
||||||
|
Try
|
||||||
|
Dim oIndexName As String = GetNextPattern(oResult, PatternIdentifier).Value
|
||||||
|
Dim oWMValue As Object = pWMObject.GetVariableValue(oIndexName)
|
||||||
|
|
||||||
|
If oWMValue Is Nothing Then
|
||||||
|
Logger.Warn("Value for Index [{0}] is empty and will not be used for replacing. Skipping.")
|
||||||
|
Return oResult
|
||||||
|
End If
|
||||||
|
|
||||||
|
oResult = ReplacePattern(oResult, PatternIdentifier, oWMValue.ToString)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Return oResult
|
||||||
|
Finally
|
||||||
|
IncrementCounterOrThrow(oCounter)
|
||||||
|
End Try
|
||||||
|
End While
|
||||||
|
|
||||||
|
Return oResult
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
@@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices
|
|||||||
<Assembly: AssemblyDescription("")>
|
<Assembly: AssemblyDescription("")>
|
||||||
<Assembly: AssemblyCompany("")>
|
<Assembly: AssemblyCompany("")>
|
||||||
<Assembly: AssemblyProduct("Patterns")>
|
<Assembly: AssemblyProduct("Patterns")>
|
||||||
<Assembly: AssemblyCopyright("Copyright © 2019")>
|
<Assembly: AssemblyCopyright("Copyright © 2021")>
|
||||||
<Assembly: AssemblyTrademark("")>
|
<Assembly: AssemblyTrademark("")>
|
||||||
|
|
||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|||||||
@@ -81,6 +81,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Constants.vb" />
|
<Compile Include="Constants.vb" />
|
||||||
|
<Compile Include="Modules\IDB.vb" />
|
||||||
|
<Compile Include="Modules\Windream.vb" />
|
||||||
<Compile Include="Modules\User.vb" />
|
<Compile Include="Modules\User.vb" />
|
||||||
<Compile Include="Modules\IModule.vb" />
|
<Compile Include="Modules\IModule.vb" />
|
||||||
<Compile Include="Modules\Clipboard.vb" />
|
<Compile Include="Modules\Clipboard.vb" />
|
||||||
|
|||||||
@@ -91,34 +91,114 @@ Public Class Patterns2
|
|||||||
Return oResult
|
Return oResult
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetReplaceMapForModule(pModule As IModule, pPanel As Panel, pUser As State.UserState) As Dictionary(Of String, Object)
|
Public Function ReplaceUserValues(pInput As String, pUser As State.UserState) As String
|
||||||
|
Dim oResult = pInput
|
||||||
|
|
||||||
|
Dim oModule = GetModule(Of PatternModule.User)()
|
||||||
|
Dim oArgs = GetReplaceMapForModule(oModule, pUser:=pUser)
|
||||||
|
oResult = DoReplaceForModule(oResult, oModule, oArgs)
|
||||||
|
|
||||||
|
Return oResult
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ReplaceControlValues(pInput As String, pPanel As Panel) As String
|
||||||
|
Dim oResult = pInput
|
||||||
|
|
||||||
|
Dim oModule = GetModule(Of PatternModule.Controls)()
|
||||||
|
Dim oArgs = GetReplaceMapForModule(oModule, pPanel:=pPanel)
|
||||||
|
oResult = DoReplaceForModule(oResult, oModule, oArgs)
|
||||||
|
|
||||||
|
Return oResult
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ReplaceWindreamValues(pInput As String, pWMObject As WMObject) As String
|
||||||
|
Dim oResult = pInput
|
||||||
|
|
||||||
|
Dim oModule = GetModule(Of PatternModule.Windream)()
|
||||||
|
Dim oArgs = GetReplaceMapForModule(oModule, pWMObject:=pWMObject)
|
||||||
|
oResult = DoReplaceForModule(oResult, oModule, oArgs)
|
||||||
|
|
||||||
|
Return oResult
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ReplaceInternalValues(pInput As String) As String
|
||||||
|
Dim oResult = pInput
|
||||||
|
|
||||||
|
Dim oInternalModule = GetModule(Of PatternModule.Internal)()
|
||||||
|
Dim oInternalArgs = GetReplaceMapForModule(oInternalModule)
|
||||||
|
oResult = DoReplaceForModule(oResult, oInternalModule, oInternalArgs)
|
||||||
|
|
||||||
|
Dim oClipboardModule = GetModule(Of PatternModule.Clipboard)()
|
||||||
|
Dim oClipboardArgs = GetReplaceMapForModule(oClipboardModule)
|
||||||
|
oResult = DoReplaceForModule(oResult, oClipboardModule, oClipboardArgs)
|
||||||
|
|
||||||
|
Return oResult
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function DoReplaceForModule(pInput As String, pModule As IModule, pArgs As Dictionary(Of String, Object)) As String
|
||||||
|
Try
|
||||||
|
pInput = pModule.Replace(pInput, pArgs)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Warn("Placeholders for String [{0}] could not be replaced completely in Module [{1}]. Skipping.", pInput, pModule.GetType.Name)
|
||||||
|
Logger.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return pInput
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetModule(Of ModuleT)() As IModule
|
||||||
|
Return Modules.
|
||||||
|
Where(Function(m) TypeOf m Is ModuleT).
|
||||||
|
SingleOrDefault()
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetReplaceMapForModule(pModule As IModule, Optional pPanel As Panel = Nothing, Optional pUser As State.UserState = Nothing, Optional pWMObject As WMObject = Nothing) As Dictionary(Of String, Object)
|
||||||
Dim oArgs As New Dictionary(Of String, Object)
|
Dim oArgs As New Dictionary(Of String, Object)
|
||||||
|
|
||||||
Select Case pModule.GetType()
|
|
||||||
Case GetType(PatternModule.Clipboard)
|
|
||||||
|
|
||||||
|
|
||||||
End Select
|
|
||||||
|
|
||||||
|
|
||||||
If TypeOf pModule Is PatternModule.Clipboard Then
|
If TypeOf pModule Is PatternModule.Clipboard Then
|
||||||
oArgs.Add(PatternModule.Clipboard.CLIP_VALUE_BOARD, My.Computer.Clipboard.GetText())
|
Try
|
||||||
|
oArgs.Add(PatternModule.Clipboard.CLIP_VALUE_BOARD, My.Computer.Clipboard.GetText())
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
ElseIf TypeOf pModule Is PatternModule.Internal Then
|
ElseIf TypeOf pModule Is PatternModule.Internal Then
|
||||||
oArgs.Add(PatternModule.Internal.INT_VALUE_USERNAME, System.Environment.UserName)
|
Try
|
||||||
oArgs.Add(PatternModule.Internal.INT_VALUE_MACHINE, System.Environment.MachineName)
|
oArgs.Add(PatternModule.Internal.INT_VALUE_USERNAME, System.Environment.UserName)
|
||||||
oArgs.Add(PatternModule.Internal.INT_VALUE_DOMAIN, System.Environment.UserDomainName)
|
oArgs.Add(PatternModule.Internal.INT_VALUE_MACHINE, System.Environment.MachineName)
|
||||||
oArgs.Add(PatternModule.Internal.INT_VALUE_DATE, Now.ToShortDateString)
|
oArgs.Add(PatternModule.Internal.INT_VALUE_DOMAIN, System.Environment.UserDomainName)
|
||||||
|
oArgs.Add(PatternModule.Internal.INT_VALUE_DATE, Now.ToShortDateString)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
ElseIf TypeOf pModule Is PatternModule.User Then
|
ElseIf TypeOf pModule Is PatternModule.User Then
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_EMAIL, pUser.Email)
|
Try
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_LANGUAGE, pUser.Language)
|
oArgs.Add(PatternModule.User.USER_VALUE_EMAIL, pUser.Email)
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_PRENAME, pUser.GivenName)
|
oArgs.Add(PatternModule.User.USER_VALUE_LANGUAGE, pUser.Language)
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_SHORTNAME, pUser.ShortName)
|
oArgs.Add(PatternModule.User.USER_VALUE_PRENAME, pUser.GivenName)
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_SURNAME, pUser.Surname)
|
oArgs.Add(PatternModule.User.USER_VALUE_SHORTNAME, pUser.ShortName)
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_USER_ID, pUser.UserId)
|
oArgs.Add(PatternModule.User.USER_VALUE_SURNAME, pUser.Surname)
|
||||||
oArgs.Add(PatternModule.User.USER_VALUE_USER_NAME, pUser.UserName)
|
oArgs.Add(PatternModule.User.USER_VALUE_USER_ID, pUser.UserId)
|
||||||
|
oArgs.Add(PatternModule.User.USER_VALUE_USER_NAME, pUser.UserName)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
ElseIf TypeOf pModule Is PatternModule.Controls Then
|
ElseIf TypeOf pModule Is PatternModule.Controls Then
|
||||||
oArgs.Add(PatternModule.Controls.CTRL_VALUE_PANEL, pPanel)
|
Try
|
||||||
|
oArgs.Add(PatternModule.Controls.CTRL_VALUE_PANEL, pPanel)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
ElseIf TypeOf pModule Is PatternModule.Windream Then
|
||||||
|
Try
|
||||||
|
oArgs.Add(PatternModule.Windream.WM_VALUE_DOCUMENT, pWMObject)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Return oArgs
|
Return oArgs
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Imports System.Runtime.InteropServices
|
|||||||
<Assembly: AssemblyCompany("Digital Data")>
|
<Assembly: AssemblyCompany("Digital Data")>
|
||||||
<Assembly: AssemblyProduct("DDZUGFeRDService")>
|
<Assembly: AssemblyProduct("DDZUGFeRDService")>
|
||||||
<Assembly: AssemblyCopyright("Copyright © 2021")>
|
<Assembly: AssemblyCopyright("Copyright © 2021")>
|
||||||
<Assembly: AssemblyTrademark("")>
|
<Assembly: AssemblyTrademark("1800")>
|
||||||
|
|
||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user