This commit is contained in:
SchreiberM 2022-07-04 13:55:29 +02:00
commit 284b5a6363
8 changed files with 291 additions and 193 deletions

View File

@ -21,10 +21,10 @@
</DigitalData.GUIs.ZooFlow.Settings> </DigitalData.GUIs.ZooFlow.Settings>
<DevExpress.LookAndFeel.Design.AppSettings> <DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String"> <setting name="DefaultAppSkin" serializeAs="String">
<value>Skin/Office 2019 Colorful</value> <value></value>
</setting> </setting>
<setting name="DefaultPalette" serializeAs="String"> <setting name="DefaultPalette" serializeAs="String">
<value>Custom/Digital Data Palette</value> <value>Custom/Digital Data 2</value>
</setting> </setting>
<setting name="TouchUI" serializeAs="String"> <setting name="TouchUI" serializeAs="String">
<value></value> <value></value>
@ -36,7 +36,7 @@
<value></value> <value></value>
</setting> </setting>
<setting name="DirectX" serializeAs="String"> <setting name="DirectX" serializeAs="String">
<value></value> <value>True</value>
</setting> </setting>
<setting name="RegisterUserSkins" serializeAs="String"> <setting name="RegisterUserSkins" serializeAs="String">
<value></value> <value></value>
@ -56,6 +56,56 @@
<setting name="CustomPaletteCollection" serializeAs="Xml"> <setting name="CustomPaletteCollection" serializeAs="Xml">
<value> <value>
<CustomPaletteCollection> <CustomPaletteCollection>
<Skin Name="Office 2019 Colorful">
<SvgPalette Name="Digital Data Palette">
<SvgColor Name="Paint" Value="248,248,248" />
<SvgColor Name="Paint High" Value="255,255,255" />
<SvgColor Name="Paint Shadow" Value="240,240,240" />
<SvgColor Name="Paint Deep Shadow" Value="230,230,230" />
<SvgColor Name="Brush" Value="72,70,68" />
<SvgColor Name="Brush High" Value="72,70,68" />
<SvgColor Name="Brush Light" Value="119,119,119" />
<SvgColor Name="Brush Major" Value="171,171,171" />
<SvgColor Name="Brush Minor" Value="210,210,210" />
<SvgColor Name="Accent Paint" Value="165,36,49" />
<SvgColor Name="Accent Paint Dark" Value="165,36,49" />
<SvgColor Name="Accent Paint Light" Value="250,220,221" />
<SvgColor Name="Accent Paint Lighter" Value="251,233,234" />
<SvgColor Name="Accent Brush" Value="255,255,255" />
<SvgColor Name="Accent Brush Light" Value="218,175,176" />
<SvgColor Name="Red" Value="237,61,59" />
<SvgColor Name="Green" Value="48,144,72" />
<SvgColor Name="Blue" Value="30,139,205" />
<SvgColor Name="Yellow" Value="251,152,59" />
<SvgColor Name="Black" Value="87,87,85" />
<SvgColor Name="Gray" Value="169,168,168" />
<SvgColor Name="White" Value="255,255,255" />
</SvgPalette>
<SvgPalette Name="Digital Data 2">
<SvgColor Name="Paint" Value="248,248,248" />
<SvgColor Name="Paint High" Value="255,255,255" />
<SvgColor Name="Paint Shadow" Value="255,214,49" />
<SvgColor Name="Paint Deep Shadow" Value="230,230,230" />
<SvgColor Name="Brush" Value="72,70,68" />
<SvgColor Name="Brush High" Value="72,70,68" />
<SvgColor Name="Brush Light" Value="119,119,119" />
<SvgColor Name="Brush Major" Value="171,171,171" />
<SvgColor Name="Brush Minor" Value="210,210,210" />
<SvgColor Name="Accent Paint" Value="165,36,49" />
<SvgColor Name="Accent Paint Dark" Value="165,36,49" />
<SvgColor Name="Accent Paint Light" Value="250,220,221" />
<SvgColor Name="Accent Paint Lighter" Value="251,233,234" />
<SvgColor Name="Accent Brush" Value="255,255,255" />
<SvgColor Name="Accent Brush Light" Value="218,175,176" />
<SvgColor Name="Red" Value="237,61,59" />
<SvgColor Name="Green" Value="48,144,72" />
<SvgColor Name="Blue" Value="30,139,205" />
<SvgColor Name="Yellow" Value="251,152,59" />
<SvgColor Name="Black" Value="87,87,85" />
<SvgColor Name="Gray" Value="169,168,168" />
<SvgColor Name="White" Value="255,255,255" />
</SvgPalette>
</Skin>
<Skin Name="Basic"> <Skin Name="Basic">
<SvgPalette Name="Digital Data"> <SvgPalette Name="Digital Data">
<SvgColor Name="Paint" Value="240,240,240" /> <SvgColor Name="Paint" Value="240,240,240" />
@ -81,54 +131,28 @@
<SvgColor Name="Gray" Value="191,191,194" /> <SvgColor Name="Gray" Value="191,191,194" />
<SvgColor Name="White" Value="255,255,255" /> <SvgColor Name="White" Value="255,255,255" />
</SvgPalette> </SvgPalette>
</Skin> <SvgPalette Name="Digital Data 2">
<Skin Name="Office 2019 Colorful"> <SvgColor Name="Paint" Value="240,240,240" />
<SvgPalette Name="Custom Palette #1">
<SvgColor Name="Paint" Value="255,214,47" />
<SvgColor Name="Paint High" Value="255,255,255" /> <SvgColor Name="Paint High" Value="255,255,255" />
<SvgColor Name="Paint Shadow" Value="240,240,240" /> <SvgColor Name="Paint Shadow" Value="255,214,49" />
<SvgColor Name="Paint Deep Shadow" Value="230,230,230" /> <SvgColor Name="Paint Deep Shadow" Value="210,210,210" />
<SvgColor Name="Brush" Value="72,70,68" /> <SvgColor Name="Brush" Value="40,40,40" />
<SvgColor Name="Brush High" Value="72,70,68" /> <SvgColor Name="Brush High" Value="40,40,40" />
<SvgColor Name="Brush Light" Value="119,119,119" /> <SvgColor Name="Brush Light" Value="120,120,120" />
<SvgColor Name="Brush Major" Value="171,171,171" /> <SvgColor Name="Brush Major" Value="160,160,160" />
<SvgColor Name="Brush Minor" Value="210,210,210" /> <SvgColor Name="Brush Minor" Value="200,200,200" />
<SvgColor Name="Accent Paint" Value="16,110,190" />
<SvgColor Name="Accent Paint Dark" Value="0,90,158" />
<SvgColor Name="Accent Paint Light" Value="205,230,247" />
<SvgColor Name="Accent Paint Lighter" Value="230,242,250" />
<SvgColor Name="Accent Brush" Value="255,255,255" />
<SvgColor Name="Accent Brush Light" Value="179,214,242" />
<SvgColor Name="Red" Value="237,61,59" />
<SvgColor Name="Green" Value="48,144,72" />
<SvgColor Name="Blue" Value="30,139,205" />
<SvgColor Name="Yellow" Value="251,152,59" />
<SvgColor Name="Black" Value="87,87,85" />
<SvgColor Name="Gray" Value="169,168,168" />
<SvgColor Name="White" Value="248,248,248" />
</SvgPalette>
<SvgPalette Name="Digital Data Palette">
<SvgColor Name="Paint" Value="255,214,47" />
<SvgColor Name="Paint High" Value="255,255,255" />
<SvgColor Name="Paint Shadow" Value="240,240,240" />
<SvgColor Name="Paint Deep Shadow" Value="230,230,230" />
<SvgColor Name="Brush" Value="72,70,68" />
<SvgColor Name="Brush High" Value="72,70,68" />
<SvgColor Name="Brush Light" Value="119,119,119" />
<SvgColor Name="Brush Major" Value="171,171,171" />
<SvgColor Name="Brush Minor" Value="210,210,210" />
<SvgColor Name="Accent Paint" Value="165,36,49" /> <SvgColor Name="Accent Paint" Value="165,36,49" />
<SvgColor Name="Accent Paint Dark" Value="165,36,49" /> <SvgColor Name="Accent Paint Dark" Value="133,28,38" />
<SvgColor Name="Accent Paint Light" Value="217,150,148" /> <SvgColor Name="Accent Paint Light" Value="255,236,161" />
<SvgColor Name="Accent Paint Lighter" Value="251,233,234" /> <SvgColor Name="Accent Paint Lighter" Value="255,244,203" />
<SvgColor Name="Accent Brush" Value="255,255,255" /> <SvgColor Name="Accent Brush" Value="255,255,255" />
<SvgColor Name="Accent Brush Light" Value="218,175,176" /> <SvgColor Name="Accent Brush Light" Value="255,236,161" />
<SvgColor Name="Red" Value="237,61,59" /> <SvgColor Name="Red" Value="208,49,68" />
<SvgColor Name="Green" Value="48,144,72" /> <SvgColor Name="Green" Value="56,152,83" />
<SvgColor Name="Blue" Value="30,139,205" /> <SvgColor Name="Blue" Value="78,138,200" />
<SvgColor Name="Yellow" Value="251,152,59" /> <SvgColor Name="Yellow" Value="241,151,63" />
<SvgColor Name="Black" Value="87,87,85" /> <SvgColor Name="Black" Value="108,109,117" />
<SvgColor Name="Gray" Value="169,168,168" /> <SvgColor Name="Gray" Value="191,191,194" />
<SvgColor Name="White" Value="255,255,255" /> <SvgColor Name="White" Value="255,255,255" />
</SvgPalette> </SvgPalette>
</Skin> </Skin>

View File

@ -35,9 +35,8 @@ Public Class ClassInit
_Loader = New ClassInitLoader(LogConfig) _Loader = New ClassInitLoader(LogConfig)
' === Init Schritte definieren ' === Init Schritte definieren
_Loader.AddStep("Initializing Base", AddressOf InitializeBase, True) _Loader.AddStep("Initializing Service", AddressOf InitializeService, True)
_Loader.AddStep("Initializing EDMI Service", AddressOf InitializeService, True) _Loader.AddStep("Initializing Database", AddressOf InitializeDatabase, True)
_Loader.AddStep("Initializing Database", AddressOf InitializeDatabaseWithFallback, True)
_Loader.AddStep("Initializing User", AddressOf InitializeUser, True) _Loader.AddStep("Initializing User", AddressOf InitializeUser, True)
_Loader.AddStep("Initializing BasicCatalogues", AddressOf InitializeBasicsfromDB, True) _Loader.AddStep("Initializing BasicCatalogues", AddressOf InitializeBasicsfromDB, True)
_Loader.AddStep("Initializing Language", AddressOf InitializeLanguage, False) _Loader.AddStep("Initializing Language", AddressOf InitializeLanguage, False)
@ -83,60 +82,6 @@ Public Class ClassInit
#Region "=== Init Steps ===" #Region "=== Init Steps ==="
Private Sub InitializeBase(MyApplication As My.MyApplication)
End Sub
Private Sub InitializeDatabase(MyApplication As My.MyApplication)
'Dim oConnectionString = MSSQLServer.DecryptConnectionString(My.SystemConfig.ConnectionString)
'My.DatabaseECM = New MSSQLServer(My.LogConfig, oConnectionString)
'If My.DatabaseECM.DBInitialized = False Then
' Logger.Warn("Could not initialize DD_ECM-Database!")
' Throw New InitException("Could not initialize ECM-Database!")
'Else
' Dim oSQl = "SELECT * FROM TBDD_CONNECTION WHERE BEZEICHNUNG = 'IDB' AND AKTIV = 1"
' Dim oDatatable As DataTable = My.DatabaseECM.GetDatatable(oSQl)
' If IsNothing(oDatatable) OrElse oDatatable.Rows.Count = 0 Then
' Dim oForm As New frmSQLConfig(My.LogConfig) With {.FormTitle = "IDB Datenbank"}
' Dim oResult = oForm.ShowDialog()
' If oResult = DialogResult.OK Then
' Dim oConnectionStringSaved = SaveConnectionString(oForm.ConnectionString)
' If oConnectionStringSaved = False Then
' Throw New InitException("Fehler beim Laden der IDB Verbindungsdaten!")
' End If
' oDatatable = My.Database.GetDatatableECM(oSQl)
' End If
' End If
' If oDatatable.Rows.Count > 1 Then
' Logger.Warn("Multiple IDB connection entries in TBDD_CONNECTION found!")
' Throw New InitException("Fehler beim Laden der IDB Verbindungsdaten!")
' End If
' Dim oDataRow As DataRow = oDatatable.Rows.Item(0)
' Dim oConString = My.DatabaseECM.GetConnectionString(
' oDataRow.Item("SERVER").ToString,
' oDataRow.Item("DATENBANK").ToString,
' oDataRow.Item("USERNAME").ToString,
' oDataRow.Item("PASSWORD").ToString
' )
' Dim oDecryptedConnectionString = MSSQLServer.DecryptConnectionString(oConString)
' My.DatabaseIDB = New MSSQLServer(My.LogConfig, oDecryptedConnectionString)
'End If
'If My.DatabaseIDB.DBInitialized = False Then
' Logger.Warn("Could not initialize IDB-Database!")
' Throw New InitException("Could not initialize IDB-Database!")
'End If
End Sub
Private Sub InitializeService(MyApplication As My.MyApplication) Private Sub InitializeService(MyApplication As My.MyApplication)
Try Try
If My.SystemConfig.AppServerConfig = String.Empty Then If My.SystemConfig.AppServerConfig = String.Empty Then
@ -172,7 +117,8 @@ Public Class ClassInit
Throw New InitException("Error in InitializeService", ex) Throw New InitException("Error in InitializeService", ex)
End Try End Try
End Sub End Sub
Private Sub InitializeDatabaseWithFallback(MyApplication As My.MyApplication)
Private Sub InitializeDatabase(MyApplication As My.MyApplication)
Try Try
Logger.Debug("Loading client config..") Logger.Debug("Loading client config..")
Dim oClientConfig = My.Application.Service.Client.ClientConfig Dim oClientConfig = My.Application.Service.Client.ClientConfig
@ -192,6 +138,7 @@ Public Class ClassInit
Throw New InitException("Error in InitializeDatabaseWithFallback!", ex) Throw New InitException("Error in InitializeDatabaseWithFallback!", ex)
End Try End Try
End Sub End Sub
Private Sub InitializeUser(MyApplication As My.MyApplication) Private Sub InitializeUser(MyApplication As My.MyApplication)
Try Try
Dim oSql As String = My.Queries.Common.FNDD_MODULE_INIT(Environment.UserName) Dim oSql As String = My.Queries.Common.FNDD_MODULE_INIT(Environment.UserName)
@ -348,28 +295,6 @@ Public Class ClassInit
#End Region #End Region
Private Function SetupDatabase() As Boolean
'If My.SystemConfig.ConnectionString = String.Empty Then
' Dim oConnectionString = My.SystemConfig.ConnectionString
' Dim oForm As New frmSQLConfig(My.LogConfig) With {
' .ConnectionString = oConnectionString,
' .FormTitle = "ECM Datenbank"
' }
' Dim oResult = oForm.ShowDialog()
' If oResult = DialogResult.OK Then
' My.SystemConfig.ConnectionString = oForm.ConnectionString
' My.SystemConfigManager.Save()
' Return True
' Else
' Return False
' End If
'End If
Return True
End Function
Private Function SaveConnectionString(pConnectionString As String) As Boolean Private Function SaveConnectionString(pConnectionString As String) As Boolean
Try Try
Dim oBuilder As New SqlConnectionStringBuilder(pConnectionString) Dim oBuilder As New SqlConnectionStringBuilder(pConnectionString)

23
ZooFlow/MailLicense.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<License>
<Id>4dc5ef40-f1a9-468b-994c-b7ed600ad878</Id>
<ProductName>Mail.dll</ProductName>
<SubscriptionUntil>2022-07-29</SubscriptionUntil>
<RegisteredTo>Digital Data GmbH</RegisteredTo>
<LicenseType>single developer</LicenseType>
<BuyerName>Digital Data GmbH</BuyerName>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>75MRtl4ipYelIZYlpT8O7QDX9Zc=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>Raxfkz6DfQVs/sMvH+F2nH0eHXD8FoUFSdP3t7AgBUdpABJQx86srlyuMSEhXPlc1THCqPouEVob4RsWnd9OXvTiPPSOUSK9zuNG6uz93KLAhpSD5PraAgBCF4jwZArlAp7aCNfZpHqQ3w6TRHS+CfravUU0AHHG3MZ1ZcRkGuo=</SignatureValue>
</Signature>
</License>

View File

@ -40,28 +40,40 @@ Namespace Search
Public Event NeedsNewSavedSearch As EventHandler Public Event NeedsNewSavedSearch As EventHandler
Public Event Closed As EventHandler(Of Integer) Public Event Closed As EventHandler(Of Integer)
Private Property _ActiveDateConstraint As String = String.Empty 'Private Property _ActiveDateConstraint As String = String.Empty
Public ReadOnly Property ActiveDateConstraint As String 'Public ReadOnly Property ActiveDateConstraint As String
' Get
' Return _ActiveDateConstraint
' End Get
'End Property
'Private _ActiveSearchTokens As New List(Of SearchToken.Token)
'Private _ActiveDateAttribute As String = SEARCH_FACT_DATE_DEFAULT
'Private _ActiveTokenOperator As TokenOperator = TokenOperator.And
'Public ReadOnly Property ActiveDateAttribute As String
' Get
' Return _ActiveDateAttribute
' End Get
'End Property
'Public ReadOnly Property ActiveTokens As List(Of SearchToken.Token)
' Get
' Return _ActiveSearchTokens
' End Get
'End Property
Private _ActiveParams As New SearchParameters
Public ReadOnly Property ActiveSearchParameters As SearchParameters
Get Get
Return _ActiveDateConstraint Return _ActiveParams
End Get End Get
End Property End Property
Private _ActiveSearchTokens As New List(Of SearchToken.Token) Public Property LastOpenedForm As Common.IResultForm
Private _ActiveDateAttribute As String = SEARCH_FACT_DATE_DEFAULT
Private _ActiveTokenOperator As TokenOperator = TokenOperator.And
Public ReadOnly Property ActiveDateAttribute As String
Get
Return _ActiveDateAttribute
End Get
End Property
Public ReadOnly Property ActiveTokens As List(Of SearchToken.Token)
Get
Return _ActiveSearchTokens
End Get
End Property
Public Property BaseSearchSQL As String Public Property BaseSearchSQL As String
Public Property ExplicitDate As Boolean = False Public Property ExplicitDate As Boolean = False
@ -122,10 +134,7 @@ Namespace Search
End Function End Function
Public Async Function RunWithTokens(pTokens As IEnumerable(Of Search.SearchToken.Token), pDateFrom As Date, pDateTo As Date, pSearchTitle As String) As Task(Of SearchResult) Public Async Function RunWithTokens(pTokens As IEnumerable(Of Search.SearchToken.Token), pDateFrom As Date, pDateTo As Date, pSearchTitle As String) As Task(Of SearchResult)
If pTokens.Count = 0 And If pTokens.Count = 0 And pDateFrom = Date.MinValue And pDateTo = Date.MinValue And _ActiveParams.DateConstraint = String.Empty Then
pDateFrom = Date.MinValue And
pDateTo = Date.MinValue And
_ActiveDateConstraint = String.Empty Then
Return New SearchResult(0) Return New SearchResult(0)
End If End If
@ -136,33 +145,38 @@ Namespace Search
}) })
End Function End Function
Private Async Function ExecuteSearch(pTokens As List(Of SearchToken.Token), pSearchTerm As String, pDateConstraint As String) As Task(Of Boolean)
Dim oSQL = String.Empty
'Public Async Function RunWithSearchTerm(pSearchTerm As String, pDateFrom As Date, pDateTo As Date) As Task(Of SearchResult) _ActiveParams.DateConstraint = pDateConstraint
' Return Await RunWithSearchTerm(pSearchTerm, pDateFrom, pDateTo, Nothing, Nothing)
'End Function If pTokens IsNot Nothing AndAlso pTokens.Count > 0 Then
_ActiveParams.SearchTokens = pTokens
_ActiveParams.SearchString = String.Empty
Await InsertSearchTokens(pTokens)
oSQL = $"EXEC PRIDB_SEARCH_GET_TOKEN_RESULT_DOCS {UserId}, '{pDateConstraint}', '{UserLanguage}'"
ElseIf pSearchTerm IsNot Nothing Then
_ActiveParams.SearchTokens.Clear()
_ActiveParams.SearchString = pSearchTerm
oSQL = $"EXEC PRIDB_SEARCH_GET_TEXT_RESULTS {UserId},'{pSearchTerm}','{pDateConstraint}', '{UserLanguage}'"
Else
_ActiveParams.SearchTokens.Clear()
_ActiveParams.SearchString = String.Empty
oSQL = $"EXEC PRIDB_SEARCH_GET_TEXT_RESULTS {UserId},'{String.Empty}','{pDateConstraint}', '{UserLanguage}'"
End If
Return Await My.Database.ExecuteNonQueryIDBAsync(oSQL)
End Function
Private Async Function RunWithSearchOptions(pOptions As SearchOptions) As Task(Of SearchResult) Private Async Function RunWithSearchOptions(pOptions As SearchOptions) As Task(Of SearchResult)
Dim oDateConstraint = Await GetDateConstraint(pOptions.DateFrom, pOptions.DateTo) Dim oDateConstraint = Await GetDateConstraint(pOptions.DateFrom, pOptions.DateTo)
Dim oWindowTitle = GetResultWindowString(pOptions.SearchString, pOptions.SearchTitle) Dim oWindowTitle = GetResultWindowString(pOptions.SearchString, pOptions.SearchTitle)
Dim oParams = GetParams(oWindowTitle) Dim oParams = GetParams(oWindowTitle)
Dim oTokens = pOptions.SearchTokens
Dim oSearchTerm = pOptions.SearchString
Dim oSQL = String.Empty If Await ExecuteSearch(pOptions.SearchTokens, pOptions.SearchString, oDateConstraint) = True Then
If oTokens IsNot Nothing AndAlso oTokens.Count > 0 Then
_ActiveSearchTokens = oTokens
Await InsertSearchTokens(oTokens)
oSQL = $"EXEC PRIDB_SEARCH_GET_TOKEN_RESULT_DOCS {UserId}, '{oDateConstraint}', '{UserLanguage}'"
ElseIf oSearchTerm IsNot Nothing Then
_ActiveSearchTokens.Clear()
oSQL = $"EXEC PRIDB_SEARCH_GET_TEXT_RESULTS {UserId},'{pOptions.SearchString}','{oDateConstraint}', '{UserLanguage}'"
Else
_ActiveSearchTokens.Clear()
oSQL = $"EXEC PRIDB_SEARCH_GET_TEXT_RESULTS {UserId},'{String.Empty}','{oDateConstraint}', '{UserLanguage}'"
End If
If Await My.Database.ExecuteNonQueryIDBAsync(oSQL) = True Then
Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL) Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL)
If oDTDocResult Is Nothing Then If oDTDocResult Is Nothing Then
@ -182,6 +196,7 @@ Namespace Search
Dim oForm As New frmDocumentResultList(My.LogConfig, Environment, oParams) Dim oForm As New frmDocumentResultList(My.LogConfig, Environment, oParams)
AddEventHandlers(oForm) AddEventHandlers(oForm)
LastOpenedForm = oForm
oForm.Show() oForm.Show()
Return New SearchResult(oRowCount) Return New SearchResult(oRowCount)
@ -195,9 +210,25 @@ Namespace Search
End If End If
End Function End Function
Public Async Function RunLastSearch() As Task(Of DocumentResultList.DocumentResult)
Try
If Await ExecuteSearch(_ActiveParams.SearchTokens, _ActiveParams.SearchString, _ActiveParams.DateConstraint) Then
Dim oResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL)
Return New DocumentResultList.DocumentResult() With {
.Title = SearchId,
.Datatable = oResult
}
Else
Return Nothing
End If
Catch ex As Exception
Logger.Error(ex)
Return Nothing
End Try
End Function
Private Sub AddEventHandlers(pForm As frmDocumentResultList) Private Sub AddEventHandlers(pForm As frmDocumentResultList)
' TODO: Implement
'AddHandler pForm.NeedsRefresh, AddressOf Form_NeedsRefresh
AddHandler pForm.FormClosed, AddressOf Form_Closed AddHandler pForm.FormClosed, AddressOf Form_Closed
' Only setup event if it is actually used ' Only setup event if it is actually used
@ -220,7 +251,7 @@ Namespace Search
End Sub End Sub
Private Async Function GetDateConstraint(pDateFrom As Date, pDateTo As Date) As Task(Of String) Private Async Function GetDateConstraint(pDateFrom As Date, pDateTo As Date) As Task(Of String)
Dim oSimpleDateConstraint = $"{_ActiveDateAttribute}~{_ActiveDateConstraint}" Dim oSimpleDateConstraint = $"{_ActiveParams.DateAttribute}~{_ActiveParams.DateConstraint}"
Dim oExplicitConstraint = Await MaybeSetExplicitDateConstraint(pDateFrom, pDateTo) Dim oExplicitConstraint = Await MaybeSetExplicitDateConstraint(pDateFrom, pDateTo)
If IsNothing(oExplicitConstraint) Then If IsNothing(oExplicitConstraint) Then
@ -246,7 +277,7 @@ Namespace Search
Dim oOperatorString Dim oOperatorString
Select Case _ActiveTokenOperator Select Case _ActiveParams.TokenOperator
Case TokenOperator.Or Case TokenOperator.Or
oOperatorString = "OR" oOperatorString = "OR"
Case Else Case Else
@ -277,7 +308,7 @@ Namespace Search
End If End If
Dim oProc = $"EXEC PRIDB_SEARCH_ADD_USR_DATE {UserId},'{pDateFrom}','{oDateTo}'" Dim oProc = $"EXEC PRIDB_SEARCH_ADD_USR_DATE {UserId},'{pDateFrom}','{oDateTo}'"
If Await My.Database.ExecuteNonQueryIDBAsync(oProc) = True Then If Await My.Database.ExecuteNonQueryIDBAsync(oProc) = True Then
Return $"{_ActiveDateAttribute}~DATEPART" Return $"{_ActiveParams.DateAttribute}~DATEPART"
Else Else
Return Nothing Return Nothing
End If End If
@ -332,19 +363,19 @@ Namespace Search
End Function End Function
Public Sub SetDateConstraint() Public Sub SetDateConstraint()
_ActiveDateConstraint = String.Empty _ActiveParams.DateConstraint = String.Empty
End Sub End Sub
Public Sub SetDateConstraint(pConstraintName As String) Public Sub SetDateConstraint(pConstraintName As String)
_ActiveDateConstraint = pConstraintName _ActiveParams.DateConstraint = pConstraintName
End Sub End Sub
Public Sub SetDateConstraint(pConstraint As DateConstraint) Public Sub SetDateConstraint(pConstraint As DateConstraint)
_ActiveDateConstraint = DateConstraintToConstant(pConstraint) _ActiveParams.DateConstraint = DateConstraintToConstant(pConstraint)
End Sub End Sub
Public Sub SetTokenOperator(pOperator As TokenOperator) Public Sub SetTokenOperator(pOperator As TokenOperator)
_ActiveTokenOperator = pOperator _ActiveParams.DateConstraint = pOperator
End Sub End Sub
Public Function DateConstraintToConstant(pConstraint As DateConstraint) As String Public Function DateConstraintToConstant(pConstraint As DateConstraint) As String
@ -402,13 +433,21 @@ Namespace Search
End Function End Function
Public Sub SetDateAttribute(pAttributeName As String) Public Sub SetDateAttribute(pAttributeName As String)
_ActiveDateAttribute = pAttributeName _ActiveParams.DateAttribute = pAttributeName
End Sub End Sub
Public Sub SetDateAttribute() Public Sub SetDateAttribute()
_ActiveDateAttribute = SEARCH_FACT_DATE_DEFAULT _ActiveParams.DateAttribute = SEARCH_FACT_DATE_DEFAULT
End Sub End Sub
Public Class SearchParameters
Public SearchTokens As New List(Of Search.SearchToken.Token)
Public TokenOperator As TokenOperator
Public SearchString As String
Public DateConstraint As String
Public DateAttribute As String
End Class
Public Class SearchOptions Public Class SearchOptions
Public SearchTitle As String Public SearchTitle As String

View File

@ -6,6 +6,7 @@ Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Tile Imports DevExpress.XtraGrid.Views.Tile
Imports DevExpress.XtraSplashScreen Imports DevExpress.XtraSplashScreen
Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.ZooFlow.ClassConstants Imports DigitalData.GUIs.ZooFlow.ClassConstants
Imports DigitalData.GUIs.ZooFlow.SavedSearch Imports DigitalData.GUIs.ZooFlow.SavedSearch
Imports DigitalData.GUIs.ZooFlow.Search Imports DigitalData.GUIs.ZooFlow.Search
@ -17,7 +18,7 @@ Public Class frmSearchFlow
Private ReadOnly LogConfig As LogConfig = My.LogConfig Private ReadOnly LogConfig As LogConfig = My.LogConfig
Private ReadOnly Logger = My.LogConfig.GetLogger() Private ReadOnly Logger = My.LogConfig.GetLogger()
Private SearchLoader As SearchLoader Private SearchLoader As SearchLoader
Private SearchRunner As SearchRunner Private WithEvents SearchRunner As SearchRunner
Private TokenTable As DataTable = Nothing Private TokenTable As DataTable = Nothing
Private FormLoading As Boolean = True Private FormLoading As Boolean = True
@ -34,6 +35,7 @@ Public Class frmSearchFlow
} }
AddHandler SearchRunner.NeedsNewSavedSearch, AddressOf SearchRunner_NewSavedSearch AddHandler SearchRunner.NeedsNewSavedSearch, AddressOf SearchRunner_NewSavedSearch
AddHandler SearchRunner.NeedsRefresh, AddressOf SearchRunner_NeedsRefresh
TokenTable = GetTokenTable() TokenTable = GetTokenTable()
ComboBoxDateAttributes.Properties.Items.AddRange(LoadDateAttributes()) ComboBoxDateAttributes.Properties.Items.AddRange(LoadDateAttributes())
@ -51,13 +53,18 @@ Public Class frmSearchFlow
End Sub End Sub
Private Async Sub SearchRunner_NeedsRefresh(sender As Object, e As Integer)
Dim oResult = Await SearchRunner.RunLastSearch()
SearchRunner.LastOpenedForm.RefreshResults(New List(Of DocumentResultList.DocumentResult) From {oResult})
End Sub
Private Sub SearchRunner_NewSavedSearch(sender As Object, e As EventArgs) Private Sub SearchRunner_NewSavedSearch(sender As Object, e As EventArgs)
Dim oForm As New frmEditSearch With {.IsNew = True} Dim oForm As New frmEditSearch With {.IsNew = True}
If oForm.ShowDialog() = DialogResult.OK Then If oForm.ShowDialog() = DialogResult.OK Then
' Get active tokens and create the search ' Get active tokens and create the search
Dim oTokens = SearchRunner.ActiveTokens Dim oTokens = SearchRunner.ActiveSearchParameters.SearchTokens
SearchLoader.CreateCustomSearch(oForm.Title, oForm.Description, oTokens, oForm.ImageString) SearchLoader.CreateCustomSearch(oForm.Title, oForm.Description, oTokens, oForm.ImageString)
' Reload the searches ' Reload the searches

View File

@ -1140,6 +1140,9 @@
<None Include="Resources\alignverticalcenter.svg" /> <None Include="Resources\alignverticalcenter.svg" />
<None Include="Resources\alignhorizontalcenter.svg" /> <None Include="Resources\alignhorizontalcenter.svg" />
<None Include="Resources\columnheaders.svg" /> <None Include="Resources\columnheaders.svg" />
<Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Zooflow.ico" /> <Content Include="Zooflow.ico" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />

View File

@ -78,9 +78,9 @@
<DirectoryRef Id="INSTALLDIR"> <DirectoryRef Id="INSTALLDIR">
<Component Id="MainApplicationExe" Guid="ac6b7460-9c48-47b3-a590-da0905dd433a"> <Component Id="MainApplicationExe" Guid="ac6b7460-9c48-47b3-a590-da0905dd433a">
<File Id="MainApplicationExe" Name="$(var.ProgramName).exe" KeyPath="yes" Checksum="yes"> <File Id="MainApplicationExe" Name="$(var.ProgramName).exe" KeyPath="yes" Checksum="no">
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="yes" /> <Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="yes" />
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="yes" /> <Shortcut Id="StartMenuShortcut" Directory="ProgramMenuFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="yes" />
</File> </File>
</Component> </Component>
@ -96,17 +96,94 @@
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="APPLICATIONFOLDER" /> <util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="APPLICATIONFOLDER" />
</Component> </Component>
<!-- Für weitere Dateien hier Component Elemente anlegen!! --> <Component Id="Libraries" Guid="38154538-ccbb-4984-b229-e2ac9ba68177">
<!-- <File Id="DevExpress.BonusSkins.v21.2.dll" Name="DevExpress.BonusSkins.v21.2.dll" KeyPath="yes" Checksum="no" />
<Component Id="FirmaXYLib" Guid="PUT-GUID-HERE"> <File Id="DevExpress.Charts.v21.2.Core.dll" Name="DevExpress.Charts.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="FirmaXYLib" Name="FirmaXYLib.dll" KeyPath="yes" Checksum="yes"/> <File Id="DevExpress.CodeParser.v21.2.dll" Name="DevExpress.CodeParser.v21.2.dll" KeyPath="no" Checksum="no" />
</Component> <File Id="DevExpress.Data.Desktop.v21.2.dll" Name="DevExpress.Data.Desktop.v21.2.dll" KeyPath="no" Checksum="no" />
--> <File Id="DevExpress.Data.v21.2.dll" Name="DevExpress.Data.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.DataAccess.v21.2.dll" Name="DevExpress.DataAccess.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.DataAccess.v21.2.UI.dll" Name="DevExpress.DataAccess.v21.2.UI.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.DataVisualization.v21.2.Core.dll" Name="DevExpress.DataVisualization.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Diagram.v21.2.Core.dll" Name="DevExpress.Diagram.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Dialogs.v21.2.Core.dll" Name="DevExpress.Dialogs.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Images.v21.2.dll" Name="DevExpress.Images.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Office.v21.2.Core.dll" Name="DevExpress.Office.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Pdf.v21.2.Core.dll" Name="DevExpress.Pdf.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Pdf.v21.2.Drawing.dll" Name="DevExpress.Pdf.v21.2.Drawing.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Printing.v21.2.Core.dll" Name="DevExpress.Printing.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.RichEdit.v21.2.Core.dll" Name="DevExpress.RichEdit.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Sparkline.v21.2.Core.dll" Name="DevExpress.Sparkline.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Spreadsheet.v21.2.Core.dll" Name="DevExpress.Spreadsheet.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.TreeMap.v21.2.Core.dll" Name="DevExpress.TreeMap.v21.2.Core.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Utils.v21.2.dll" Name="DevExpress.Utils.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Utils.v21.2.UI.dll" Name="DevExpress.Utils.v21.2.UI.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.Xpo.v21.2.dll" Name="DevExpress.Xpo.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraBars.v21.2.dll" Name="DevExpress.XtraBars.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraCharts.v21.2.dll" Name="DevExpress.XtraCharts.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraDiagram.v21.2.dll" Name="DevExpress.XtraDiagram.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraDialogs.v21.2.dll" Name="DevExpress.XtraDialogs.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraEditors.v21.2.dll" Name="DevExpress.XtraEditors.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraGrid.v21.2.dll" Name="DevExpress.XtraGrid.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraLayout.v21.2.dll" Name="DevExpress.XtraLayout.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraNavBar.v21.2.dll" Name="DevExpress.XtraNavBar.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraPrinting.v21.2.dll" Name="DevExpress.XtraPrinting.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraRichEdit.v21.2.dll" Name="DevExpress.XtraRichEdit.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraSpreadsheet.v21.2.dll" Name="DevExpress.XtraSpreadsheet.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraTreeList.v21.2.dll" Name="DevExpress.XtraTreeList.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraTreeMap.v21.2.dll" Name="DevExpress.XtraTreeMap.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DevExpress.XtraVerticalGrid.v21.2.dll" Name="DevExpress.XtraVerticalGrid.v21.2.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Controls.DocumentViewer.dll" Name="DigitalData.Controls.DocumentViewer.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Controls.LookupGrid.dll" Name="DigitalData.Controls.LookupGrid.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Controls.RegexEditor.dll" Name="DigitalData.Controls.RegexEditor.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Controls.SnapPanel.dll" Name="DigitalData.Controls.SnapPanel.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Controls.SQLConfig.dll" Name="DigitalData.Controls.SQLConfig.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.GUIs.ClipboardWatcher.dll" Name="DigitalData.GUIs.ClipboardWatcher.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.GUIs.Common.dll" Name="DigitalData.GUIs.Common.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.GUIs.GlobalIndexer.dll" Name="DigitalData.GUIs.GlobalIndexer.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Base.dll" Name="DigitalData.Modules.Base.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Config.dll" Name="DigitalData.Modules.Config.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Database.dll" Name="DigitalData.Modules.Database.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.EDMI.API.dll" Name="DigitalData.Modules.EDMI.API.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Encryption.dll" Name="DigitalData.Modules.Encryption.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Filesystem.dll" Name="DigitalData.Modules.Filesystem.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Interfaces.dll" Name="DigitalData.Modules.Interfaces.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Language.dll" Name="DigitalData.Modules.Language.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Logging.dll" Name="DigitalData.Modules.Logging.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Messaging.dll" Name="DigitalData.Modules.Messaging.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Patterns.dll" Name="DigitalData.Modules.Patterns.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.Windows.dll" Name="DigitalData.Modules.Windows.dll" KeyPath="no" Checksum="no" />
<File Id="DigitalData.Modules.ZooFlow.dll" Name="DigitalData.Modules.ZooFlow.dll" KeyPath="no" Checksum="no" />
<File Id="Independentsoft.Msg.dll" Name="Independentsoft.Msg.dll" KeyPath="no" Checksum="no" />
<File Id="Mail.dll" Name="Mail.dll" KeyPath="no" Checksum="no" />
<File Id="NLog.dll" Name="NLog.dll" KeyPath="no" Checksum="no" />
<File Id="Oracle.ManagedDataAccess.dll" Name="Oracle.ManagedDataAccess.dll" KeyPath="no" Checksum="no" />
</Component>
<Component Id="External" Guid="fe785ceb-09fe-40fa-988d-011ebd574f81">
<File Id="GdPicture.NET.14.filters.64.dll" Name="GdPicture.NET.14.filters.64.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.filters.64.dll" KeyPath="yes" Checksum="no" />
<File Id="GdPicture.NET.14.filters.dll" Name="GdPicture.NET.14.filters.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.filters.dll" KeyPath="no" Checksum="no" />
<File Id="GdPicture.NET.14.image.gdimgplug.64.dll" Name="GdPicture.NET.14.image.gdimgplug.64.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.image.gdimgplug.64.dll" KeyPath="no" Checksum="no" />
<File Id="GdPicture.NET.14.image.gdimgplug.dll" Name="GdPicture.NET.14.image.gdimgplug.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.image.gdimgplug.dll" KeyPath="no" Checksum="no" />
<File Id="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" Name="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" KeyPath="no" Checksum="no" />
<File Id="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.Imaging.Rendering.Skia.dll" KeyPath="no" Checksum="no" />
<File Id="MailLicense.xml" Name="MailLicense.xml" KeyPath="no" Checksum="no" />
</Component>
<!-- Für weitere Dateien hier Component Elemente anlegen!! -->
<!--
<Component Id="FirmaXYLib" Guid="PUT-GUID-HERE">
<File Id="FirmaXYLib" Name="FirmaXYLib.dll" KeyPath="yes" Checksum="no"/>
</Component>
-->
</DirectoryRef> </DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1"> <Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainApplicationExe" /> <ComponentRef Id="MainApplicationExe" />
<ComponentRef Id="RegistryKeys" /> <ComponentRef Id="RegistryKeys" />
<ComponentRef Id="Libraries" />
<ComponentRef Id="External" />
<!-- Weitere Komponenten hier hinzufügen! --> <!-- Weitere Komponenten hier hinzufügen! -->
</Feature> </Feature>

View File

@ -16,7 +16,7 @@
<LinkerAdditionalOptions> <LinkerAdditionalOptions>
-b "$(SolutionDir)Zooflow\bin\$(Configuration)" -b "$(SolutionDir)Zooflow\bin\$(Configuration)"
</LinkerAdditionalOptions> </LinkerAdditionalOptions>
<Cultures>de-DE;en-US</Cultures> <Cultures>de-DE</Cultures>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath> <OutputPath>bin\$(Configuration)\</OutputPath>