ZooFlow: Clean up, faster search

This commit is contained in:
Jonathan Jenne 2022-02-18 15:02:51 +01:00
parent c6c548afe4
commit 77597f0ef2
53 changed files with 326 additions and 818 deletions

View File

@ -181,6 +181,10 @@
<Project>{D20A6BF2-C7C6-4A7A-B34D-FA27D775A049}</Project>
<Name>Common</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Base\Base\Base.vbproj">
<Project>{6ea0c51f-c2b1-4462-8198-3de0b32b74f8}</Project>
<Name>Base</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Database\Database.vbproj">
<Project>{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}</Project>
<Name>Database</Name>

View File

@ -7,17 +7,18 @@ Imports DigitalData.Modules.Windows
Imports DigitalData.Modules.ZooFlow.Params
Imports DigitalData.Modules.ZooFlow.State
Imports DigitalData.Modules.Patterns
Imports DigitalData.Modules.Base
Public Class ProfileFilter
Private _ProfileMatch As ProfileMatch
Private _ProfileTable As DataTable
Private _ProcessTable As DataTable
Private _WindowTable As DataTable
Private _ControlTable As DataTable
Private _Profiles As List(Of ProfileData)
Private _TreeView As TreeView
Private _LogConfig As LogConfig
Private _Logger As Logger
Inherits BaseClass
Private ReadOnly _ProfileMatch As ProfileMatch
Private ReadOnly _ProfileTable As DataTable
Private ReadOnly _ProcessTable As DataTable
Private ReadOnly _WindowTable As DataTable
Private ReadOnly _ControlTable As DataTable
Private ReadOnly _Profiles As List(Of ProfileData)
Private ReadOnly _TreeView As TreeView
Public Enum ImageIndex
Root
@ -44,25 +45,27 @@ Public Class ProfileFilter
End Property
Public Sub New(LogConfig As LogConfig, ProfileDatatable As DataTable, ProcessTable As DataTable, WindowDatatable As DataTable, ControlDatatable As DataTable, TreeView As TreeView)
Try
_LogConfig = LogConfig
_Logger = LogConfig.GetLogger()
MyBase.New(LogConfig)
_Logger.Debug("Initializing Profile Filter")
_Logger.Debug("Initializing Profile Data")
Try
LogConfig = LogConfig
Logger = LogConfig.GetLogger()
Logger.Debug("Initializing Profile Filter")
Logger.Debug("Initializing Profile Data")
_ProfileTable = ProfileDatatable
_ProcessTable = ProcessTable
_WindowTable = WindowDatatable
_ControlTable = ControlDatatable
_Logger.Debug("Initializing Profile Debugging")
Logger.Debug("Initializing Profile Debugging")
_TreeView = TreeView
_ProfileMatch = New ProfileMatch(LogConfig)
_Logger.Debug("Transforming Profiles")
Logger.Debug("Transforming Profiles")
_Profiles = TransformProfiles()
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Throw ex
End Try
End Sub
@ -72,7 +75,7 @@ Public Class ProfileFilter
End Function
Public Function LogRemainingProfiles(Profiles As List(Of ProfileData), StepDescription As String) As List(Of ProfileData)
_Logger.Debug("Profiles remaining after Step {0}: {1}", StepDescription, Profiles.Count)
Logger.Debug("Profiles remaining after Step {0}: {1}", StepDescription, Profiles.Count)
Return Profiles
End Function
@ -88,7 +91,7 @@ Public Class ProfileFilter
_TreeView.Nodes.Add(oRootNode)
For Each oProfile In Profiles
_Logger.Debug("Current Profile: {0}", oProfile.Name)
Logger.Debug("Current Profile: {0}", oProfile.Name)
Dim oNode = _ProfileMatch.NewProfileNode(oProfile)
oRootNode.Nodes.Add(oNode)
@ -97,8 +100,8 @@ Public Class ProfileFilter
Dim oRegex As New Regex(oProfile.Regex)
Dim oMatch = oRegex.Match(ClipboardContents)
If oMatch.Success Then
_Logger.Debug("FilterProfilesByClipboardRegex: Clipboard Regex Matched: {0}", ClipboardContents)
_Logger.Info("FilterProfilesByClipboardRegex: Profile {0} matched!", oProfile.Name)
Logger.Debug("FilterProfilesByClipboardRegex: Clipboard Regex Matched: {0}", ClipboardContents)
Logger.Info("FilterProfilesByClipboardRegex: Profile {0} matched!", oProfile.Name)
oFilteredProfiles.Add(oProfile)
oProfile.IsMatched = True
@ -106,8 +109,8 @@ Public Class ProfileFilter
oNode.Nodes.Add(oSubnode)
End If
Catch ex As Exception
_Logger.Warn("Regex '{0}' could not be processed for input '{1}'", oProfile.Regex, ClipboardContents)
_Logger.Error(ex)
Logger.Warn("Regex '{0}' could not be processed for input '{1}'", oProfile.Regex, ClipboardContents)
Logger.Error(ex)
End Try
Next
@ -140,12 +143,12 @@ Public Class ProfileFilter
oParent.Nodes.Add(oNode)
End If
_Logger.Debug($"FilterProfilesByProcess: Checking Profile: {oProfile.Name}")
Logger.Debug($"FilterProfilesByProcess: Checking Profile: {oProfile.Name}")
If oIsMatch Then
_Logger.Debug($"Processname Matched: {oProcess.ProcessName}")
Logger.Debug($"Processname Matched: {oProcess.ProcessName}")
oFilteredProfiles.Add(oProfile)
_Logger.Info("FilterProfilesByProcess: Profile {0} matched!", oProfile.Name)
Logger.Info("FilterProfilesByProcess: Profile {0} matched!", oProfile.Name)
' Set Process matched
oProcess.IsMatched = True
@ -168,8 +171,8 @@ Public Class ProfileFilter
Return oFilteredProfiles
Catch ex As Exception
_Logger.Warn("Unexpected error in FilterProfilesByProcess...")
_Logger.Error(ex)
Logger.Warn("Unexpected error in FilterProfilesByProcess...")
Logger.Error(ex)
Return Profiles
End Try
End Function
@ -177,7 +180,7 @@ Public Class ProfileFilter
Dim oProfiles As New List(Of ProfileData)
For Each oProfile As ProfileData In Profiles
_Logger.Debug("Checking WindowDefinition for profile: {0}...", oProfile.Name)
Logger.Debug("Checking WindowDefinition for profile: {0}...", oProfile.Name)
Dim oFilteredWindows As New List(Of WindowData)
@ -190,7 +193,7 @@ Public Class ProfileFilter
' If Profile has no windows at all, it automatically matches
If oFilteredWindows.Count = 0 Then
_Logger.Debug("Profile has no Windows assigned, automatic MATCH")
Logger.Debug("Profile has no Windows assigned, automatic MATCH")
oProfile.IsMatched = True
oProfiles.Add(oProfile)
@ -214,12 +217,12 @@ Public Class ProfileFilter
Dim oMatch = oRegex.Match(WindowTitle)
If oMatch.Success Then
_Logger.Debug("MATCH on WindowTitle: {0}", WindowTitle)
Logger.Debug("MATCH on WindowTitle: {0}", WindowTitle)
oProfile.MatchedWindowID = oWindowDef.Guid
oWindowDef.IsMatched = True
oWindows.Add(oWindowDef)
Else
_Logger.Debug("NO MATCH on WindowTitle: {0} - REGEX: {2}", WindowTitle, oWindowDef.Regex)
Logger.Debug("NO MATCH on WindowTitle: {0} - REGEX: {2}", WindowTitle, oWindowDef.Regex)
End If
Dim oParent = _ProfileMatch.FindNodeByTag(_TreeView.Nodes, oWindowDef.WindowProcessID & "-PROCESS")
@ -229,8 +232,8 @@ Public Class ProfileFilter
End If
Catch ex As Exception
_Logger.Warn("Regex '{0}' could not be processed for input '{1}'", oWindowDef.Regex, WindowTitle)
_Logger.Error(ex)
Logger.Warn("Regex '{0}' could not be processed for input '{1}'", oWindowDef.Regex, WindowTitle)
Logger.Error(ex)
End Try
Next
@ -240,14 +243,14 @@ Public Class ProfileFilter
oProfile.IsMatched = True
oProfiles.Add(oProfile)
_Logger.Info("FilterWindowsByWindowTitleRegex: Profile {0} matched!", oProfile.Name)
Logger.Info("FilterWindowsByWindowTitleRegex: Profile {0} matched!", oProfile.Name)
End If
If oProfile.IsCatchAll Then
oProfile.IsMatched = True
oProfiles.Add(oProfile)
_Logger.Info("FilterWindowsByWindowTitleRegex: Profile {0} is marked catchall!", oProfile.Name)
Logger.Info("FilterWindowsByWindowTitleRegex: Profile {0} is marked catchall!", oProfile.Name)
End If
Next
@ -259,7 +262,7 @@ Public Class ProfileFilter
Public Function FilterProfilesByFocusedControl(Profiles As List(Of ProfileData), ClipboardContents As String, WindowHandle As IntPtr) As List(Of ProfileData)
Dim oProfiles As New List(Of ProfileData)
Dim oWindow As New Window(_LogConfig)
Dim oWindow As New Window(LogConfig)
Dim oFocusedWindow As Window.WindowInfo
Try
@ -268,7 +271,7 @@ Public Class ProfileFilter
Throw New ApplicationException("Window Information is Empty")
End If
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Return Profiles
End Try
@ -284,7 +287,7 @@ Public Class ProfileFilter
' If Profile has no controls at all, it automatically matches
If oFilteredControls.Count = 0 Then
_Logger.Debug("Profile has no Controls assigned, automatic MATCH")
Logger.Debug("Profile has no Controls assigned, automatic MATCH")
oProfiles.Add(oProfile)
Continue For
End If
@ -322,8 +325,8 @@ Public Class ProfileFilter
End Select
Next
Catch ex As Exception
_Logger.Warn("Error while getting focused control location")
_Logger.Error(ex)
Logger.Warn("Error while getting focused control location")
Logger.Error(ex)
End Try
Else
Dim oControlName As String = oControl.ControlName
@ -335,13 +338,13 @@ Public Class ProfileFilter
oFound = True
End If
Catch ex As Exception
_Logger.Warn("Error while getting focused control name")
_Logger.Error(ex)
Logger.Warn("Error while getting focused control name")
Logger.Error(ex)
End Try
End If
If oFound Then
_Logger.Debug("Control {0} has MATCH", oControl.ControlName)
Logger.Debug("Control {0} has MATCH", oControl.ControlName)
oMatchingControls.Add(oControl)
End If
@ -354,11 +357,11 @@ Public Class ProfileFilter
' If Profile has controls that matched, the profile matches
If oMatchingControls.Count > 0 Then
_Logger.Debug("Profile has {0} MATCHING Controls", oMatchingControls.Count)
Logger.Debug("Profile has {0} MATCHING Controls", oMatchingControls.Count)
oProfile.Controls = oMatchingControls
oProfiles.Add(oProfile)
_Logger.Info("FilterProfilesByFocusedControl: Profile {0} matched!", oProfile.Name)
Logger.Info("FilterProfilesByFocusedControl: Profile {0} matched!", oProfile.Name)
End If
Next
@ -372,11 +375,11 @@ Public Class ProfileFilter
Dim oProfiles As New List(Of ProfileData)
For Each oProfile In Profiles
_Logger.Debug($"Checking SearchResults on ProfileID: {oProfile.Guid}")
Logger.Debug($"Checking SearchResults on ProfileID: {oProfile.Guid}")
Dim oResultDocs As Integer = 0
Dim oResultData As Integer = 0
Dim oPatterns As New ClassPatterns(_LogConfig)
Dim oPatterns As New ClassPatterns(LogConfig)
Dim oDTDataSearches As DataTable
Dim oDTDocSearches As DataTable
@ -385,7 +388,7 @@ Public Class ProfileFilter
oDTDataSearches = Database.GetDatatable($"SELECT COUNT_COMMAND, CONN_ID FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID = {oProfile.Guid}")
Catch ex As Exception
oProfile.ErrorMessage = ERROR_LOADING_COUNT_SQL_FOR_DATA_SEARCH
_Logger.Error(ex)
Logger.Error(ex)
Continue For
End Try
@ -393,7 +396,7 @@ Public Class ProfileFilter
oDTDocSearches = Database.GetDatatable($"SELECT COUNT_COMMAND, CONN_ID FROM TBCW_PROF_DOC_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID = {oProfile.Guid}")
Catch ex As Exception
oProfile.ErrorMessage = ERROR_LOADING_COUNT_SQL_FOR_DOC_SEARCH
_Logger.Error(ex)
Logger.Error(ex)
Continue For
End Try
@ -406,25 +409,25 @@ Public Class ProfileFilter
oCountConnectionId = NotNull(oRow.Item("CONN_ID"), 0)
If oCountCommand = String.Empty Then
_Logger.Debug("Data SQL Query is empty. Skipping.")
Logger.Debug("Data SQL Query is empty. Skipping.")
Continue For
End If
_Logger.Debug("Count-Command DATA BEFORE Replace: [{0}]", oCountCommand)
Logger.Debug("Count-Command DATA BEFORE Replace: [{0}]", oCountCommand)
oCountCommand = oPatterns.ReplaceInternalValues(oCountCommand)
oCountCommand = oPatterns.ReplaceUserValues(oCountCommand, User)
oCountCommand = oPatterns.ReplaceClipboardContents(oCountCommand, ClipboardContents)
_Logger.Debug("Count-Command DATA before execute: [{0}]", oCountCommand)
Logger.Debug("Count-Command DATA before execute: [{0}]", oCountCommand)
Dim oConnectionString = ProfileUtils.GetConnectionString(Database, oCountConnectionId)
oResultData += NotNull(Of Integer)(Database.GetScalarValueWithConnection(oCountCommand, oConnectionString), 0)
_Logger.Debug("Datarows returned from search: [{0}]", oResultData)
Logger.Debug("Datarows returned from search: [{0}]", oResultData)
Catch ex As Exception
oProfile.ErrorMessage = ERROR_EXECUTING_COUNT_SQL_FOR_DATA_SEARCH
_Logger.Error(ex)
_Logger.Warn("Invalid SQL Query for Counting Data in Profile [{0}]: [{1}]", oProfile.Guid, oCountCommand)
Logger.Error(ex)
Logger.Warn("Invalid SQL Query for Counting Data in Profile [{0}]: [{1}]", oProfile.Guid, oCountCommand)
End Try
Next
@ -437,25 +440,25 @@ Public Class ProfileFilter
oCountConnectionId = NotNull(oRow.Item("CONN_ID"), 0)
If oCountCommand = String.Empty Then
_Logger.Debug("Document SQL Query is empty. Skipping.")
Logger.Debug("Document SQL Query is empty. Skipping.")
Continue For
End If
_Logger.Debug("Count-Command for Documents BEFORE Replace: [{0}]", oCountCommand)
Logger.Debug("Count-Command for Documents BEFORE Replace: [{0}]", oCountCommand)
oCountCommand = oPatterns.ReplaceInternalValues(oCountCommand)
oCountCommand = oPatterns.ReplaceUserValues(oCountCommand, User)
oCountCommand = oPatterns.ReplaceClipboardContents(oCountCommand, ClipboardContents)
_Logger.Debug("Count-Command for Documents BEFORE execute: [{0}]", oCountCommand)
Logger.Debug("Count-Command for Documents BEFORE execute: [{0}]", oCountCommand)
Dim oConnectionString = ProfileUtils.GetConnectionString(Database, oCountConnectionId)
oResultDocs += NotNull(Of Integer)(Database.GetScalarValueWithConnection(oCountCommand, oConnectionString), 0)
_Logger.Debug("Documents returned from search: [{0}]", oResultDocs)
Logger.Debug("Documents returned from search: [{0}]", oResultDocs)
Catch ex As Exception
oProfile.ErrorMessage = ERROR_EXECUTING_COUNT_SQL_FOR_DOC_SEARCH
_Logger.Error(ex)
_Logger.Warn("Invalid SQL Query for Counting Data in Profile [{0}]: [{1}]", oProfile.Guid, oCountCommand)
Logger.Error(ex)
Logger.Warn("Invalid SQL Query for Counting Data in Profile [{0}]: [{1}]", oProfile.Guid, oCountCommand)
End Try
Next
@ -473,7 +476,7 @@ Public Class ProfileFilter
If oProfile.CountData > 0 Or oProfile.CountDocs > 0 Then
oProfiles.Add(oProfile)
_Logger.Info("Profile [{0}] matched in FilterProfilesBySearchResults!", oProfile.Name)
Logger.Info("Profile [{0}] matched in FilterProfilesBySearchResults!", oProfile.Name)
End If
Next
@ -484,7 +487,7 @@ Public Class ProfileFilter
Dim oProfiles As New List(Of ProfileData)
For Each oProfile As ProfileData In Profiles
_Logger.Debug("Current Profile: {0}", oProfile.Name)
Logger.Debug("Current Profile: {0}", oProfile.Name)
Dim oWindows As New List(Of WindowData)
@ -498,7 +501,7 @@ Public Class ProfileFilter
Dim oMatch = oRegex.Match(ClipboardContents)
If oMatch.Success Then
_Logger.Debug("Window Clipboard Regex Matched: {0}", ClipboardContents)
Logger.Debug("Window Clipboard Regex Matched: {0}", ClipboardContents)
oWindows.Add(w)
End If
@ -510,8 +513,8 @@ Public Class ProfileFilter
oResult.Nodes.Add(oNode)
End If
Catch ex As Exception
_Logger.Warn("Regex '{0}' could not be processed for input '{1}'", w.Regex, ClipboardContents)
_Logger.Error(ex)
Logger.Warn("Regex '{0}' could not be processed for input '{1}'", w.Regex, ClipboardContents)
Logger.Error(ex)
End Try
Next
@ -519,7 +522,7 @@ Public Class ProfileFilter
oProfile.Windows = oWindows
oProfiles.Add(oProfile)
_Logger.Info("FilterWindowsByWindowClipboardRegex: Profile {0} matched!", oProfile.Name)
Logger.Info("FilterWindowsByWindowClipboardRegex: Profile {0} matched!", oProfile.Name)
End If
Next
@ -589,7 +592,7 @@ Public Class ProfileFilter
Return oList
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Throw ex
End Try
End Function
@ -636,7 +639,7 @@ Public Class ProfileFilter
Return oControlList
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Throw ex
End Try
End Function
@ -660,7 +663,7 @@ Public Class ProfileFilter
Return oProcessList
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Throw ex
End Try
End Function
@ -682,7 +685,7 @@ Public Class ProfileFilter
Return oWindowList
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Throw ex
End Try
End Function

View File

@ -1,13 +1,17 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Patterns
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Base
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.ZooFlow.Params
Public Class ProfileSearches
Private _LogConfig As LogConfig
Private _Logger As Logger
Inherits BaseClass
Private _Environment As Environment
Private _Client As Client
@ -22,10 +26,10 @@ Public Class ProfileSearches
Public SQLCommand As String
End Class
Public Sub New(LogConfig As LogConfig, Environment As Environment, pClipboardContents As String)
_LogConfig = LogConfig
_Logger = LogConfig.GetLogger()
_Environment = Environment
Public Sub New(pLogConfig As LogConfig, pEnvironment As Environment, pClipboardContents As String)
MyBase.New(pLogConfig)
_Environment = pEnvironment
_ClipboardContents = pClipboardContents
Try
If _Environment.Service.IsActive = True Then
@ -36,22 +40,47 @@ Public Class ProfileSearches
If oSplit.Length = 2 Then
oAppServerPort = oSplit(1)
End If
_Client = New Client(LogConfig, oAppServerAddress, oAppServerPort)
_Client = New Client(pLogConfig, oAppServerAddress, oAppServerPort)
If Not IsNothing(_Client) Then
If _Client.Connect() Then
_Logger.Debug("ProfileSearches: Appserver connected successfully!")
Logger.Debug("ProfileSearches: Appserver connected successfully!")
End If
End If
Catch ex As Exception
_Logger.Warn($"Could not initialize the AppServer: {ex.Message}")
_Logger.Error(ex)
Logger.Warn($"Could not initialize the AppServer: {ex.Message}")
Logger.Error(ex)
End Try
End If
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
End Try
End Sub
Public Async Function GetDocResultForm(pProfile As ProfileData, pFormTitle As String, pOperationMode As Modules.ZooFlow.Constants.OperationMode) As Task(Of frmDocumentResultList)
' For now we assume these are document results instead of data results
Dim oSearches = Await LoadDocumentSearchesAsync(pProfile.Guid)
Dim oNameSlug = ConvertTextToSlug(pProfile.Name)
Dim oSearchGuids = oSearches.Select(Function(s) s.Guid).ToArray
Dim oWindowGuid = $"{pProfile.Guid}-{oNameSlug}-{String.Join("-", oSearchGuids)}"
Dim oParams = New DocumentResultList.Params() With {
.WindowGuid = oWindowGuid,
.WindowTitle = pFormTitle,
.OperationModeOverride = pOperationMode,
.ProfileGuid = pProfile.Guid
}
For Each oSearch In oSearches
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
.Title = oSearch.TabCaption,
.Datatable = oSearch.DataTable
})
Next
Dim oForm As New frmDocumentResultList(LogConfig, _Environment, oParams)
Return oForm
End Function
Public Async Function LoadDocumentSearchesAsync(ProfileId As Integer) As Task(Of List(Of Search))
Return Await Task.Run(Function()
Return DoLoadDocumentSearches(ProfileId)
@ -65,7 +94,7 @@ Public Class ProfileSearches
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBCW_PROF_DOC_SEARCH", $"PROFILE_ID = {ProfileId} AND ACTIVE = 1", "TAB_INDEX")
oSearchesDataTable = oTableResult.Table
If oSearchesDataTable Is Nothing Then
_Logger.Warn("TBCW_PROF_DOC_SEARCH from AppServer is nothing: Failover started...")
Logger.Warn("TBCW_PROF_DOC_SEARCH from AppServer is nothing: Failover started...")
oSearchesDataTable = _Environment.Database.GetDatatable(oSQL)
End If
Else
@ -74,7 +103,7 @@ Public Class ProfileSearches
Dim oDocSearches As New List(Of Search)
If Not IsNothing(oSearchesDataTable) Then
Dim oCounter As Integer = 0
Dim oPatterns As New ClassPatterns(_LogConfig)
Dim oPatterns As New ClassPatterns(LogConfig)
For Each oRow As DataRow In oSearchesDataTable.Rows
Dim oProfileId As Integer = oRow.Item("PROFILE_ID")
@ -92,7 +121,7 @@ Public Class ProfileSearches
Dim oDatatable As DataTable = _Environment.Database.GetDatatableWithConnection(oSQL, oConnectionString)
If oDatatable Is Nothing Then
_Logger.Warn("Error in SQL-Query '{0}'", oSQL)
Logger.Warn("Error in SQL-Query '{0}'", oSQL)
Continue For
End If
@ -132,7 +161,7 @@ Public Class ProfileSearches
Dim oTableResult As TableResult = _Client.GetDatatableByName("TBCW_PROF_DATA_SEARCH", $"PROFILE_ID = {ProfileId} AND ACTIVE = 1", "TAB_INDEX")
oSearchesDataTable = oTableResult.Table
If oSearchesDataTable Is Nothing Then
_Logger.Warn("TBCW_PROF_DATA_SEARCH from AppServer is nothing: Failover started...")
Logger.Warn("TBCW_PROF_DATA_SEARCH from AppServer is nothing: Failover started...")
oSearchesDataTable = _Environment.Database.GetDatatable(oSQL)
End If
Else
@ -140,7 +169,7 @@ Public Class ProfileSearches
End If
Dim oCounter As Integer = 0
Dim oPatterns As New ClassPatterns(_LogConfig)
Dim oPatterns As New ClassPatterns(LogConfig)
For Each oRow As DataRow In oSearchesDataTable.Rows
Try
@ -158,7 +187,7 @@ Public Class ProfileSearches
Dim oDatatable As DataTable = _Environment.Database.GetDatatableWithConnection(oSQL, oConnectionString)
If oDatatable Is Nothing Then
_Logger.Warn("Error in SQL-Query '{0}'", oSQL)
Logger.Warn("Error in SQL-Query '{0}'", oSQL)
Continue For
End If
@ -172,7 +201,7 @@ Public Class ProfileSearches
oCounter += 1
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
End Try
Next
@ -180,7 +209,7 @@ Public Class ProfileSearches
Where(Function(s) Not IsNothing(s.DataTable)).
ToList()
Catch ex As Exception
_Logger.Error(ex)
Logger.Error(ex)
Return oDataSearches
End Try
End Function

View File

@ -31,6 +31,7 @@ Public Class frmMatch
Private ReadOnly _Environment As Environment
Private ReadOnly _Params As ClipboardWatcherParams
Private ReadOnly _Language As String
Private ReadOnly _ProfileSearch As ProfileSearches
Private ReadOnly PrimaryFont As New Font("Segoe UI", 12, FontStyle.Bold)
Private ReadOnly SecondaryFont As New Font("Segoe UI", 10)
@ -61,6 +62,7 @@ Public Class frmMatch
_Logger = LogConfig.GetLogger()
_Environment = Environment
_Params = Params
_ProfileSearch = New ProfileSearches(_LogConfig, _Environment, _Params.ClipboardContents)
_Language = Utils.NotNull(_Environment.User.Language, State.UserState.LANG_EN_US)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(_Language)
@ -324,7 +326,7 @@ Public Class frmMatch
Case TileGroupDocuments.Name
Dim oSearches = Await oProfileSearch.LoadDocumentSearchesAsync(oProfileId)
OpenDocumentResults(oProfile, oSearches)
Await OpenDocumentResults(oProfile, oSearches)
Case Else
' TODO: Load combined results
@ -341,32 +343,17 @@ Public Class frmMatch
End Try
End Sub
Private Sub OpenDocumentResults(Profile As ProfileData, Searches As List(Of ProfileSearches.Search))
Dim oNameSlug = Utils.ConvertTextToSlug(Profile.Name)
Dim oSearchGuids = Searches.Select(Function(s) s.Guid).ToArray
Dim oWindowGuid = $"{Profile.Guid}-{oNameSlug}-{String.Join("-", oSearchGuids)}"
Dim oParams = New DocumentResultList.Params() With {
.WindowGuid = oWindowGuid,
.WindowTitle = GetResultWindowString(_Params.ClipboardContents),
.OperationModeOverride = _Params.OperationModeOverride,
.ProfileGuid = Profile.Guid
}
Private Async Function OpenDocumentResults(Profile As ProfileData, Searches As List(Of ProfileSearches.Search)) As Task
Dim oFormTitle = GetResultWindowString(_Params.ClipboardContents)
Dim oForm As frmDocumentResultList = Await _ProfileSearch.GetDocResultForm(Profile, oFormTitle, _Params.OperationModeOverride)
For Each oSearch In Searches
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
.Title = oSearch.TabCaption,
.Datatable = oSearch.DataTable
})
Next
Dim oForm As New frmDocumentResultList(_LogConfig, _Environment, oParams)
AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
AddHandler oForm.NeedsRefresh, AddressOf ProfileResultForm_NeedsRefresh
OpenForms.Add(oForm)
oForm.Show()
End Sub
End Function
Private Sub OpenDataResults(Profile As ProfileData, Searches As List(Of ProfileSearches.Search))
Dim oNameSlug = Utils.ConvertTextToSlug(Profile.Name)

View File

@ -39,7 +39,6 @@ Partial Class frmMatchLoading
Me.progressPanel1.AppearanceCaption.Options.UseFont = True
Me.progressPanel1.AppearanceDescription.Font = CType(resources.GetObject("resource.Font1"), System.Drawing.Font)
Me.progressPanel1.AppearanceDescription.Options.UseFont = True
Me.progressPanel1.BarAnimationElementThickness = 2
Me.progressPanel1.ImageHorzOffset = 20
Me.progressPanel1.Name = "progressPanel1"
'

View File

@ -141,9 +141,6 @@
<data name="progressPanel1.Text" xml:space="preserve">
<value>progressPanel1</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Form1</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraWaitForm.WaitForm, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
@ -210,14 +207,17 @@
<data name="&gt;&gt;progressPanel1.Type" xml:space="preserve">
<value>DevExpress.XtraWaitForm.ProgressPanel, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="resource.Font1" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 8.25pt</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="$this.Text" xml:space="preserve">
<value>Form1</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>1</value>
@ -231,7 +231,4 @@
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>fr-FR</value>
</metadata>
</root>

View File

@ -122,81 +122,81 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD8
EgAAAk1TRnQBSQFMAgEBBgEAARgBAAEYAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
EgAAAk1TRnQBSQFMAgEBBgEAASABAAEgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIDYABP8DmQH/A+oF/wPMAf8DwAH/xAADhgH/A4YB/wOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YF/wPXAf8D+AH/AcwBmQEwAf8BzAGZATAB/wHMApkF/wOWAf8EAAOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/hAADhgH/HAADhgX/AcwBmQFj
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwCf8QAAOGAf8YAAOGAf+QAAOGAf8cAAOyBf8B8AHKAaYB/wHM
AZkBMA3/A8wB/xAAA4YB/xgAA4YB/5AAA4YB/yAAA5YF/wHwAcoBpgn/A8AB/wPqAf8EAAOGAf8DhgH/
Af8DhgH/A4YF/wPXAf8D+AH/AcwBmQEvAf8BzAGZAS8B/wHMApkF/wOWAf8EAAOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/hAADhgH/HAADhgX/AcwBmQFi
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvCf8QAAOGAf8YAAOGAf+QAAOGAf8cAAOyBf8B8AHKAaYB/wHM
AZkBLw3/A8wB/xAAA4YB/xgAA4YB/5AAA4YB/yAAA5YF/wHwAcoBpgn/A8AB/wPqAf8EAAOGAf8DhgH/
A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/hAADhgH/JAAD8QH/
A5YB/wOGAf8DwAH/BAADmQH/EAADhgH/GAADhgH/kAADhgH/OAADhgH/EAADhgH/GAADhgH/kAADhgH/
OAADhgH/BAADhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/
A4YB/4QAA4YB/zgAA4YB/xAAA4YB/xgAA4YB/5AAA4YB/zgAA4YB/xAAA4YB/xgAA4YB/5AAAcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wQAA4YB/wQAA4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf+EAAHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8EAAOGAf8EAAPXAf8D1wH/
A9cB/wOGAf8D1wH/A9cB/wPXAf8D1wH/A9cB/wPXAf8DhgH/A9cB/wPXAf8D1wH/hAABzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/BAADhgH/BAAD1wH/A9cB/wPX
Af8DhgH/A9cB/wPXAf8D1wH/A9cB/wPXAf8D1wH/A4YB/wPXAf8D1wH/A9cB/4wAAcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wQAA4YB/wOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf+MAAHMAZkBMAH/AcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf/IAAHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf//AF0AA4Yh/xwAAcwBmQFjAf8BzAGZATAB/wPqAf8kAAOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/ZAADhiH/HAABzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf9MAAOGAf8QAAHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHM
AZkBMAH/EAABMAHMAv8BYwHMAv8BYwHMAv8BYwHMAv8DhiH/CAAE/wHMAZkBMAH/AcwBmQEwBf8D3QH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAX/AswBmQH/AcwBmQEwAf8CzAGZAf8gAAOGAf8DhgH/A4YB/wOG
Af8DhgH/CAADhgH/EAABzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/xAA
ATABzAL/AWMBzAL/AWMBzAL/AWMBzAL/A4Yh/wgAAcwBmQFjAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHM
AZkBMAH/IAABYwHMAv8BYwHMAv8BYwHMAv8BYwHMAv8DhgH/CAADhgH/EAABzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/xAAATABzAL/AWMBzAL/AWMBzAL/AWMBzAL/A4Yh/wgA
BP8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wLMAZkB/yAAAWMBzAL/AWMBzAL/AWMBzAL/AWMBzAL/A4YB/wgA
A4YB/xAAAcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8QAAEwAcwC/wFj
AcwC/wFjAcwC/wFjAcwC/wOGIf8MAAHMAZkBYwH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/A/EF/wLM
AZkB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAF/yAAAWMBzAL/AWMBzAL/AWMBzAL/AWMBzAL/A4YB/wgA
A4YB/xAAAcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8QAAEwAcwC/wFj
AcwC/wFjAcwC/wFjAcwC/wOGIf8EAAHMAZkBYwH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8QAALMAZkB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/A+oB/wQAA+MB/wOGBf8kAAOG
Af8DhgH/DAABzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/CAABzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8QAAEwAcwC/wFjAcwC/wFjAcwC/wFj
AcwC/wOGIf8EAAHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8QAAT/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wQABP8DhgH/A4YF/xwAA8AB/wOGAf8DzAH/
DAABzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/CAABzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8QAAEwAcwC/wFjAcwC/wFjAcwC/wFjAcwC/wOG
If8EAAHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8QAAPxAf8BzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBYwH/CAAE/wOGAf8DhgX/FAADwAH/A4YB/wPMAf8QAAHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/EAABMAHMAv8BYwHMAv8BYwHM
Av8BYwHMAv8DhiH/DAABzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8D1wH/DAABzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8D3QH/FAAE/wOGAf8DhgX/DAADwAH/A4YB/wPMAf8UAAHMAZkBMAH/AcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/EAABMAHMAv8BYwHMAv8BYwHMAv8BYwHMAv8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8MAAHMApkB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHM
AZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAF/xgABP8DhgH/A4YF/wQA
A8AB/wOGAf8DzAH/AcwBmQFjAf8UAAHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEw
Af8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wPq
Af8QAAEwAcwC/yAAAWMBzAL/FAAB8AHKAaYB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8cAAT/
A4YB/wOGAf8DwAH/A4YB/wPMAf8BzAGZAWMB/wHMAZkBMAH/IAABzAGZATAB/xAAAcwBmQEwAf8gAAEw
AcwC/wQAA4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wFjAcwC/xQAA8wB/wHMAZkBMAH/AcwBmQEw
Af8BzAKZAf8BzAGZATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBYwH/AcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/IAAE/wOGAf8DhgH/A8wB/wQAAcwBmQEwAf8BzAGZATAB/yAAAcwBmQEwAf8BzAGZ
ATAB/wHMAZkBMAH/AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/MAADhgH/BAADhgH/JAADzAH/A8wB/wgA
AcwBmQEwAf8BzAGZATAB/wHMAZkBMAH/BAAE/wHMAZkBYwX/JAAE/wPMAf+4AAHMAZkBMAH/AcwBmQEw
Af8BzAGZAWMB//8AGQABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAf8BgQL/
A4YB/4QAA4YB/zgAA4YB/xAAA4YB/xgAA4YB/5AAA4YB/zgAA4YB/xAAA4YB/xgAA4YB/5AAAcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wQAA4YB/wQAA4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf+EAAHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8EAAOGAf8EAAPXAf8D1wH/
A9cB/wOGAf8D1wH/A9cB/wPXAf8D1wH/A9cB/wPXAf8DhgH/A9cB/wPXAf8D1wH/hAABzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/BAADhgH/BAAD1wH/A9cB/wPX
Af8DhgH/A9cB/wPXAf8D1wH/A9cB/wPXAf8D1wH/A4YB/wPXAf8D1wH/A9cB/4wAAcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wQAA4YB/wOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf+MAAHMAZkBLwH/AcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf/IAAHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf//AF0AA4Yh/xwAAcwBmQFiAf8BzAGZAS8B/wPqAf8kAAOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/ZAADhiH/HAABzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf9MAAOGAf8QAAHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHM
AZkBLwH/EAABLwHMAv8BYgHMAv8BYgHMAv8BYgHMAv8DhiH/CAAE/wHMAZkBLwH/AcwBmQEvBf8D3QH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwX/AswBmQH/AcwBmQEvAf8CzAGZAf8gAAOGAf8DhgH/A4YB/wOG
Af8DhgH/CAADhgH/EAABzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/xAA
AS8BzAL/AWIBzAL/AWIBzAL/AWIBzAL/A4Yh/wgAAcwBmQFiAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHM
AZkBLwH/IAABYgHMAv8BYgHMAv8BYgHMAv8BYgHMAv8DhgH/CAADhgH/EAABzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/xAAAS8BzAL/AWIBzAL/AWIBzAL/AWIBzAL/A4Yh/wgA
BP8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wLMAZkB/yAAAWIBzAL/AWIBzAL/AWIBzAL/AWIBzAL/A4YB/wgA
A4YB/xAAAcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8QAAEvAcwC/wFi
AcwC/wFiAcwC/wFiAcwC/wOGIf8MAAHMAZkBYgH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/A/EF/wLM
AZkB/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8F/yAAAWIBzAL/AWIBzAL/AWIBzAL/AWIBzAL/A4YB/wgA
A4YB/xAAAcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8QAAEvAcwC/wFi
AcwC/wFiAcwC/wFiAcwC/wOGIf8EAAHMAZkBYgH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8QAALMAZkB/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/A+oB/wQAA+MB/wOGBf8kAAOG
Af8DhgH/DAABzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/CAABzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8QAAEvAcwC/wFiAcwC/wFiAcwC/wFi
AcwC/wOGIf8EAAHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8QAAT/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wQABP8DhgH/A4YF/xwAA8AB/wOGAf8DzAH/
DAABzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/CAABzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8QAAEvAcwC/wFiAcwC/wFiAcwC/wFiAcwC/wOG
If8EAAHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8QAAPxAf8BzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBYgH/CAAE/wOGAf8DhgX/FAADwAH/A4YB/wPMAf8QAAHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/EAABLwHMAv8BYgHMAv8BYgHM
Av8BYgHMAv8DhiH/DAABzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8D1wH/DAABzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8D3QH/FAAE/wOGAf8DhgX/DAADwAH/A4YB/wPMAf8UAAHMAZkBLwH/AcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/EAABLwHMAv8BYgHMAv8BYgHMAv8BYgHMAv8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8MAAHMApkB/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHM
AZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8F/xgABP8DhgH/A4YF/wQA
A8AB/wOGAf8DzAH/AcwBmQFiAf8UAAHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEv
Af8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wPq
Af8QAAEvAcwC/yAAAWIBzAL/FAAB8AHKAaYB/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8cAAT/
A4YB/wOGAf8DwAH/A4YB/wPMAf8BzAGZAWIB/wHMAZkBLwH/IAABzAGZAS8B/xAAAcwBmQEvAf8gAAEv
AcwC/wQAA4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wFiAcwC/xQAA8wB/wHMAZkBLwH/AcwBmQEv
Af8BzAKZAf8BzAGZAS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBYgH/AcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/IAAE/wOGAf8DhgH/A8wB/wQAAcwBmQEvAf8BzAGZAS8B/yAAAcwBmQEvAf8BzAGZ
AS8B/wHMAZkBLwH/AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/MAADhgH/BAADhgH/JAADzAH/A8wB/wgA
AcwBmQEvAf8BzAGZAS8B/wHMAZkBLwH/BAAE/wHMAZkBYgX/JAAE/wPMAf+4AAHMAZkBLwH/AcwBmQEv
Af8BzAGZAWIB//8AGQABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAf8BgQL/
BgABgAEBBAABfwEAAfcB7wQAAX8BAAH3Ae8EAAF/AoABAQQAAX8BwgH3Ae8EAAF/Af4B9wHvBAABfwH+
AYABAQQAAX8B/gH3Ae8EAAF/Af4B9wHvBQABAgGAAQEFAAECAYABAQUAAQIBgAEBBAABwAEAAYABAQQA
AcABAAL/BAABwAEAAv8EAAT/Af4BAAH+AT8B4AEDAv8B/gEAAf4BPwH/AfsBwAEBAeABAAHAAQMB/AEb

View File

@ -117,6 +117,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tvProfileMatch.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tvProfileMatch.Size" type="System.Drawing.Size, System.Drawing">
<value>800, 450</value>
@ -134,26 +138,17 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>800, 450</value>
</data>
<data name="tvProfileMatch.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;ImageList1.Name" xml:space="preserve">
<value>ImageList1</value>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>800, 450</value>
</data>
<data name="&gt;&gt;tvProfileMatch.Name" xml:space="preserve">
<value>tvProfileMatch</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Profilsuchen Algorithmus</value>
</data>
<data name="tvProfileMatch.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="&gt;&gt;ImageList1.Name" xml:space="preserve">
<value>ImageList1</value>
</data>
<data name="&gt;&gt;tvProfileMatch.ZOrder" xml:space="preserve">
<value>0</value>
@ -161,6 +156,9 @@
<data name="tvProfileMatch.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="tvProfileMatch.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9.75pt</value>
</data>
@ -169,7 +167,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD+
EgAAAk1TRnQBSQFMAgEBBgEAARABAAEUAQABEAEAARABAAT/ASEBEAj/AUIBTQE2BwABNgMAASgDAAFA
EgAAAk1TRnQBSQFMAgEBBgEAARABAAEYAQABEAEAARABAAT/ASEBEAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIDYABP8DmQH/A+oF/wPMAf8DwAH/xAADhgH/A4YB/wOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YF/wPXAf8D+AH/AcwBmQExAf8BzAGZATEB/wHMApkF/wOWAf8EAAOGAf8DhgH/A4YB/wOG
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/hAADhgH/HAADhgX/AcwBmQFk
@ -253,19 +251,18 @@
AT8I/xYACw==
</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tvProfileMatch.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="$this.Text" xml:space="preserve">
<value>Profilsuchen Algorithmus</value>
</data>
<data name="&gt;&gt;ImageList1.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="tvProfileMatch.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmTreeView</value>
</data>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>fr-FR</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -44,6 +44,9 @@
Public Const WM_WINDOWPOSCHANGING As Integer = &H46
Public Const TEXT_MISSING_INPUT = "Bitte vervollständigen Sie die Eingaben!"
Public Const TITLE_MISSING_INPUT = "Fehlende Eingaben"
Class DropType
Public Const DROP_TYPE_FILESYSTEM = "|DROPFROMFSYSTEM|"
Public Const DROP_TYPE_MESSAGE = "|OUTLOOK_MESSAGE|"

View File

@ -1,15 +0,0 @@
Imports DigitalData.Modules.ZooFlow
Public Class ClassEnvironment
Public Shared Function GetEnvironment() As Environment
Dim oEnvironment As New Environment() With {
.DatabaseIDB = My.DatabaseIDB,
.Database = My.DatabaseECM,
.Modules = My.Application.Modules,
.Service = My.Application.Service,
.Settings = My.Application.Settings,
.User = My.Application.User
}
Return oEnvironment
End Function
End Class

View File

@ -1,4 +0,0 @@
Public Class ClassStrings
Public Const TEXT_MISSING_INPUT = "Bitte vervollständigen Sie die Eingaben!"
Public Const TITLE_MISSING_INPUT = "Fehlende Eingaben"
End Class

View File

@ -259,6 +259,6 @@ Public Class ClassValidator
End Function
Private Sub ShowValidationMessage()
MsgBox(ClassStrings.TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, ClassStrings.TITLE_MISSING_INPUT)
MsgBox(ClassConstants.TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, ClassConstants.TITLE_MISSING_INPUT)
End Sub
End Class

View File

@ -64,7 +64,7 @@
<StartupObject>DigitalData.GUIs.ZooFlow.My.MyApplication</StartupObject>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>ZOO_FLOW_ sysicon_48.ico</ApplicationIcon>
<ApplicationIcon>Zooflow.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Accessibility" />
@ -217,9 +217,8 @@
<Compile Include="Administration\ClassSourceBundle.vb" />
<Compile Include="ApplicationEvents.vb" />
<Compile Include="ClassDragDrop.vb" />
<Compile Include="ClassStrings.vb" />
<Compile Include="ClipboardWatcher\ClassProfileLoader.vb" />
<Compile Include="ClipboardWatcher\Watcher.vb" />
<Compile Include="Modules\ClipboardWatcher\ClassProfileLoader.vb" />
<Compile Include="Modules\ClipboardWatcher\Watcher.vb" />
<Compile Include="ClassCommandlineArgs.vb" />
<Compile Include="clsPatterns.vb" />
<Compile Include="DBCW_Stammdaten.Designer.vb">
@ -256,44 +255,44 @@
<Compile Include="frmTest.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\ClassExclusions.vb" />
<Compile Include="Globix\ClassValidator.vb" />
<Compile Include="Globix\frmGlobixNameconvention.Designer.vb">
<Compile Include="Modules\Globix\ClassExclusions.vb" />
<Compile Include="Modules\Globix\ClassValidator.vb" />
<Compile Include="Modules\Globix\frmGlobixNameconvention.Designer.vb">
<DependentUpon>frmGlobixNameconvention.vb</DependentUpon>
</Compile>
<Compile Include="Globix\frmGlobixNameconvention.vb">
<Compile Include="Modules\Globix\frmGlobixNameconvention.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\Models\DocumentType.vb" />
<Compile Include="Globix\Models\ManualIndex.vb" />
<Compile Include="Globix\Models\WorkFile.vb" />
<Compile Include="Modules\Globix\Models\DocumentType.vb" />
<Compile Include="Modules\Globix\Models\ManualIndex.vb" />
<Compile Include="Modules\Globix\Models\WorkFile.vb" />
<Compile Include="frmWaitForm.Designer.vb">
<DependentUpon>frmWaitForm.vb</DependentUpon>
</Compile>
<Compile Include="frmWaitForm.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\ClassUserFiles.vb" />
<Compile Include="Modules\Globix\ClassUserFiles.vb" />
<Compile Include="modCurrent.vb" />
<Compile Include="MyDataset.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>MyDataset.xsd</DependentUpon>
</Compile>
<Compile Include="Globix\ClassFolderwatcher.vb" />
<Compile Include="Globix\frmGlobixBasicConfig.Designer.vb">
<Compile Include="Modules\Globix\ClassFolderwatcher.vb" />
<Compile Include="Modules\Globix\frmGlobixBasicConfig.Designer.vb">
<DependentUpon>frmGlobixBasicConfig.vb</DependentUpon>
</Compile>
<Compile Include="Globix\frmGlobixBasicConfig.vb">
<Compile Include="Modules\Globix\frmGlobixBasicConfig.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\frmGlobixMissingInput.Designer.vb">
<Compile Include="Modules\Globix\frmGlobixMissingInput.Designer.vb">
<DependentUpon>frmGlobixMissingInput.vb</DependentUpon>
</Compile>
<Compile Include="Globix\frmGlobixMissingInput.vb">
<Compile Include="Modules\Globix\frmGlobixMissingInput.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\GlobixDataset.Designer.vb">
<Compile Include="Modules\Globix\GlobixDataset.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>GlobixDataset.xsd</DependentUpon>
@ -309,10 +308,10 @@
<SubType>Form</SubType>
</Compile>
<Compile Include="Search\ClassControlCreator.vb" />
<Compile Include="Globix\ClassFilehandle.vb" />
<Compile Include="Modules\Globix\ClassFilehandle.vb" />
<Compile Include="ClassInit.vb" />
<Compile Include="ClassWindowLayout.vb" />
<Compile Include="ClipboardWatcher\State.vb" />
<Compile Include="Modules\ClipboardWatcher\State.vb" />
<Compile Include="DSIDB_Stammdaten.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@ -332,16 +331,16 @@
<Compile Include="frmFlowForm.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\frmGlobix_IndexFileList.Designer.vb">
<Compile Include="Modules\Globix\frmGlobix_IndexFileList.Designer.vb">
<DependentUpon>frmGlobix_IndexFileList.vb</DependentUpon>
</Compile>
<Compile Include="Globix\frmGlobix_IndexFileList.vb">
<Compile Include="Modules\Globix\frmGlobix_IndexFileList.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\frmGlobix_Index.Designer.vb">
<Compile Include="Modules\Globix\frmGlobix_Index.Designer.vb">
<DependentUpon>frmGlobix_Index.vb</DependentUpon>
</Compile>
<Compile Include="Globix\frmGlobix_Index.vb">
<Compile Include="Modules\Globix\frmGlobix_Index.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Search\frmFlowSearch1.Designer.vb">
@ -368,7 +367,7 @@
<Compile Include="Search\frmSearchStart.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Globix\State.vb" />
<Compile Include="Modules\Globix\State.vb" />
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@ -378,15 +377,8 @@
<Compile Include="Queries\ClassCommonQueries.vb" />
<Compile Include="Config\ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassEnvironment.vb" />
<Compile Include="ClassInitLoader.vb" />
<Compile Include="Config\ClassUIConfig.vb" />
<Compile Include="frmConfigDatabase.Designer.vb">
<DependentUpon>frmConfigDatabase.vb</DependentUpon>
</Compile>
<Compile Include="frmConfigDatabase.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSettings.Designer.vb">
<DependentUpon>frmSettings.vb</DependentUpon>
</Compile>
@ -451,13 +443,13 @@
<EmbeddedResource Include="frmTest.resx">
<DependentUpon>frmTest.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Globix\frmGlobixBasicConfig.resx">
<EmbeddedResource Include="Modules\Globix\frmGlobixBasicConfig.resx">
<DependentUpon>frmGlobixBasicConfig.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Globix\frmGlobixMissingInput.resx">
<EmbeddedResource Include="Modules\Globix\frmGlobixMissingInput.resx">
<DependentUpon>frmGlobixMissingInput.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Globix\frmGlobixNameconvention.resx">
<EmbeddedResource Include="Modules\Globix\frmGlobixNameconvention.resx">
<DependentUpon>frmGlobixNameconvention.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmWaitForm.resx">
@ -469,16 +461,13 @@
<EmbeddedResource Include="Administration\frmAdmin_Start.resx">
<DependentUpon>frmAdmin_Start.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmConfigDatabase.resx">
<DependentUpon>frmConfigDatabase.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmFlowForm.resx">
<DependentUpon>frmFlowForm.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Globix\frmGlobix_IndexFileList.resx">
<EmbeddedResource Include="Modules\Globix\frmGlobix_IndexFileList.resx">
<DependentUpon>frmGlobix_IndexFileList.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Globix\frmGlobix_Index.resx">
<EmbeddedResource Include="Modules\Globix\frmGlobix_Index.resx">
<DependentUpon>frmGlobix_Index.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Search\frmFlowSearch1.resx">
@ -551,15 +540,15 @@
<None Include="DSIDB_Stammdaten.xss">
<DependentUpon>DSIDB_Stammdaten.xsd</DependentUpon>
</None>
<None Include="Globix\GlobixDataset.xsc">
<None Include="Modules\Globix\GlobixDataset.xsc">
<DependentUpon>GlobixDataset.xsd</DependentUpon>
</None>
<None Include="Globix\GlobixDataset.xsd">
<None Include="Modules\Globix\GlobixDataset.xsd">
<SubType>Designer</SubType>
<Generator>MSDataSetGenerator</Generator>
<LastGenOutput>GlobixDataset.Designer.vb</LastGenOutput>
</None>
<None Include="Globix\GlobixDataset.xss">
<None Include="Modules\Globix\GlobixDataset.xss">
<DependentUpon>GlobixDataset.xsd</DependentUpon>
</None>
<None Include="My Project\Settings.settings">
@ -999,7 +988,7 @@
<None Include="Resources\Compare_RefreshScriptPreview.png" />
<None Include="Resources\refresh_16xMD.png" />
<None Include="Resources\Close_16xLG.png" />
<Content Include="ZOO_FLOW_ sysicon_48.ico" />
<Content Include="Zooflow.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@ -1,272 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmConfigDatabase
Inherits DevExpress.XtraEditors.XtraForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.btnTestConnection = New DevExpress.XtraEditors.SimpleButton()
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem5 = New DevExpress.XtraLayout.LayoutControlItem()
Me.EmptySpaceItem2 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.txtServerName = New DevExpress.XtraEditors.TextEdit()
Me.txtUserName = New DevExpress.XtraEditors.TextEdit()
Me.txtPassword = New DevExpress.XtraEditors.TextEdit()
Me.cmbDatabase = New DevExpress.XtraEditors.ComboBoxEdit()
Me.txtConnectionString = New DevExpress.XtraEditors.TextEdit()
Me.chkWinAuth = New DevExpress.XtraEditors.CheckEdit()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem4 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem7 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem6 = New DevExpress.XtraLayout.LayoutControlItem()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.LayoutControl1.SuspendLayout()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EmptySpaceItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtServerName.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtUserName.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtPassword.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.cmbDatabase.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtConnectionString.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.chkWinAuth.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem7, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'LayoutControl1
'
Me.LayoutControl1.Controls.Add(Me.txtServerName)
Me.LayoutControl1.Controls.Add(Me.txtUserName)
Me.LayoutControl1.Controls.Add(Me.txtPassword)
Me.LayoutControl1.Controls.Add(Me.cmbDatabase)
Me.LayoutControl1.Controls.Add(Me.btnTestConnection)
Me.LayoutControl1.Controls.Add(Me.txtConnectionString)
Me.LayoutControl1.Controls.Add(Me.chkWinAuth)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.Root = Me.LayoutControlGroup1
Me.LayoutControl1.Size = New System.Drawing.Size(602, 221)
Me.LayoutControl1.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1"
'
'btnTestConnection
'
Me.btnTestConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.actions_check4
Me.btnTestConnection.ImageOptions.SvgImageSize = New System.Drawing.Size(16, 16)
Me.btnTestConnection.Location = New System.Drawing.Point(303, 164)
Me.btnTestConnection.Name = "btnTestConnection"
Me.btnTestConnection.Size = New System.Drawing.Size(287, 22)
Me.btnTestConnection.StyleController = Me.LayoutControl1
Me.btnTestConnection.TabIndex = 8
Me.btnTestConnection.Text = "Verbindung zur Datenbank herstellen"
'
'LayoutControlGroup1
'
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem4, Me.LayoutControlItem3, Me.LayoutControlItem7, Me.LayoutControlItem6, Me.LayoutControlItem5, Me.EmptySpaceItem2})
Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(602, 221)
Me.LayoutControlGroup1.TextVisible = False
'
'LayoutControlItem5
'
Me.LayoutControlItem5.Control = Me.btnTestConnection
Me.LayoutControlItem5.Location = New System.Drawing.Point(291, 152)
Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Size = New System.Drawing.Size(291, 49)
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem5.TextVisible = False
'
'EmptySpaceItem2
'
Me.EmptySpaceItem2.AllowHotTrack = False
Me.EmptySpaceItem2.Location = New System.Drawing.Point(0, 152)
Me.EmptySpaceItem2.Name = "EmptySpaceItem2"
Me.EmptySpaceItem2.Size = New System.Drawing.Size(291, 49)
Me.EmptySpaceItem2.TextSize = New System.Drawing.Size(0, 0)
'
'txtServerName
'
Me.txtServerName.Location = New System.Drawing.Point(169, 15)
Me.txtServerName.Name = "txtServerName"
Me.txtServerName.Size = New System.Drawing.Size(418, 20)
Me.txtServerName.StyleController = Me.LayoutControl1
Me.txtServerName.TabIndex = 4
'
'txtUserName
'
Me.txtUserName.Location = New System.Drawing.Point(169, 45)
Me.txtUserName.Name = "txtUserName"
Me.txtUserName.Size = New System.Drawing.Size(127, 20)
Me.txtUserName.StyleController = Me.LayoutControl1
Me.txtUserName.TabIndex = 5
'
'txtPassword
'
Me.txtPassword.Location = New System.Drawing.Point(460, 45)
Me.txtPassword.Name = "txtPassword"
Me.txtPassword.Size = New System.Drawing.Size(127, 20)
Me.txtPassword.StyleController = Me.LayoutControl1
Me.txtPassword.TabIndex = 6
'
'cmbDatabase
'
Me.cmbDatabase.Location = New System.Drawing.Point(169, 75)
Me.cmbDatabase.Name = "cmbDatabase"
Me.cmbDatabase.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.cmbDatabase.Size = New System.Drawing.Size(418, 20)
Me.cmbDatabase.StyleController = Me.LayoutControl1
Me.cmbDatabase.TabIndex = 7
'
'txtConnectionString
'
Me.txtConnectionString.Location = New System.Drawing.Point(169, 137)
Me.txtConnectionString.Name = "txtConnectionString"
Me.txtConnectionString.Properties.ReadOnly = True
Me.txtConnectionString.Size = New System.Drawing.Size(418, 20)
Me.txtConnectionString.StyleController = Me.LayoutControl1
Me.txtConnectionString.TabIndex = 9
'
'chkWinAuth
'
Me.chkWinAuth.Location = New System.Drawing.Point(17, 107)
Me.chkWinAuth.Name = "chkWinAuth"
Me.chkWinAuth.Properties.Caption = "Windows Authentifizierung"
Me.chkWinAuth.Size = New System.Drawing.Size(568, 18)
Me.chkWinAuth.StyleController = Me.LayoutControl1
Me.chkWinAuth.TabIndex = 10
'
'LayoutControlItem1
'
Me.LayoutControlItem1.Control = Me.txtServerName
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem1.Size = New System.Drawing.Size(582, 30)
Me.LayoutControlItem1.Text = "Server Name:"
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(142, 13)
'
'LayoutControlItem2
'
Me.LayoutControlItem2.Control = Me.txtUserName
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 30)
Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem2.Size = New System.Drawing.Size(291, 30)
Me.LayoutControlItem2.Text = "Benutzername:"
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(142, 13)
'
'LayoutControlItem4
'
Me.LayoutControlItem4.Control = Me.cmbDatabase
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 60)
Me.LayoutControlItem4.Name = "LayoutControlItem4"
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem4.Size = New System.Drawing.Size(582, 30)
Me.LayoutControlItem4.Text = "Datenbank:"
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(142, 13)
'
'LayoutControlItem3
'
Me.LayoutControlItem3.Control = Me.txtPassword
Me.LayoutControlItem3.Location = New System.Drawing.Point(291, 30)
Me.LayoutControlItem3.Name = "LayoutControlItem3"
Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem3.Size = New System.Drawing.Size(291, 30)
Me.LayoutControlItem3.Text = "Passwort:"
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(142, 13)
'
'LayoutControlItem7
'
Me.LayoutControlItem7.Control = Me.chkWinAuth
Me.LayoutControlItem7.Location = New System.Drawing.Point(0, 90)
Me.LayoutControlItem7.Name = "LayoutControlItem7"
Me.LayoutControlItem7.Size = New System.Drawing.Size(582, 32)
Me.LayoutControlItem7.Spacing = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem7.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem7.TextVisible = False
'
'LayoutControlItem6
'
Me.LayoutControlItem6.Control = Me.txtConnectionString
Me.LayoutControlItem6.Location = New System.Drawing.Point(0, 122)
Me.LayoutControlItem6.Name = "LayoutControlItem6"
Me.LayoutControlItem6.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem6.Size = New System.Drawing.Size(582, 30)
Me.LayoutControlItem6.Text = "Aktueller Connectionstring:"
Me.LayoutControlItem6.TextSize = New System.Drawing.Size(142, 13)
'
'frmConfigDatabase
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(602, 221)
Me.Controls.Add(Me.LayoutControl1)
Me.Name = "frmConfigDatabase"
Me.Text = "Datenbank Verbindung"
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.LayoutControl1.ResumeLayout(False)
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EmptySpaceItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtServerName.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtUserName.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtPassword.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.cmbDatabase.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtConnectionString.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.chkWinAuth.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem7, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents LayoutControlGroup1 As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents txtServerName As DevExpress.XtraEditors.TextEdit
Friend WithEvents txtUserName As DevExpress.XtraEditors.TextEdit
Friend WithEvents txtPassword As DevExpress.XtraEditors.TextEdit
Friend WithEvents cmbDatabase As DevExpress.XtraEditors.ComboBoxEdit
Friend WithEvents btnTestConnection As DevExpress.XtraEditors.SimpleButton
Friend WithEvents txtConnectionString As DevExpress.XtraEditors.TextEdit
Friend WithEvents chkWinAuth As DevExpress.XtraEditors.CheckEdit
Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem4 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem7 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem6 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem5 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents EmptySpaceItem2 As DevExpress.XtraLayout.EmptySpaceItem
End Class

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,118 +0,0 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Encryption
Imports DigitalData.Modules.Filesystem
Imports DigitalData.Modules.Logging
Public Class frmConfigDatabase
Private Const STRING_CONNECTION_SUCCESSFUL = "Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?"
Private Logger As Logger = My.LogConfig.GetLogger()
Private Sub frmConfigDatabase_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim oConnectionString = My.SystemConfig.ConnectionString
If Not oConnectionString = String.Empty Then
Dim oBuilder = My.SystemConfig.GetConnectionStringBuilder(oConnectionString)
If oBuilder Is Nothing Then
MsgBox("Connection String ist ungültig!", MsgBoxStyle.Critical)
Exit Sub
End If
If oConnectionString.Contains("Trusted") Then
chkWinAuth.Checked = True
txtConnectionString.Text = oConnectionString
Else
chkWinAuth.Checked = False
txtConnectionString.Text = oConnectionString.Replace(oBuilder.Password, "XXXXXX")
txtUserName.Text = oBuilder.UserID
End If
txtServerName.Text = oBuilder.DataSource
cmbDatabase.Text = oBuilder.InitialCatalog
End If
End Sub
Private Sub chkWinAuth_CheckedChanged(sender As Object, e As EventArgs) Handles chkWinAuth.CheckedChanged
txtPassword.Enabled = Not chkWinAuth.Checked
txtUserName.Enabled = Not chkWinAuth.Checked
End Sub
Private Sub cmbDatabase_Click(sender As Object, e As EventArgs) Handles cmbDatabase.Click
Cursor = Cursors.WaitCursor
Dim oConnectionString As String = GetConnectionString(False)
Dim oDatabase As New MSSQLServer(My.LogConfig, oConnectionString)
If oDatabase.DBInitialized = False Then
MsgBox("Verbindung fehlgeschlagen!", MsgBoxStyle.Critical, Text)
Exit Sub
End If
Try
Using oConnection = New SqlClient.SqlConnection(oConnectionString)
oConnection.Open()
Using oCommand As New SqlClient.SqlCommand("sp_databases", oConnection)
Using oReader As SqlClient.SqlDataReader = oCommand.ExecuteReader
If oReader.HasRows Then
cmbDatabase.Properties.Items.Clear()
Do While oReader.Read
cmbDatabase.Properties.Items.Add(oReader("Database_Name"))
Loop
cmbDatabase.ShowPopup()
Else
MsgBox("The standard-databases could not be retrieved. The default database will be set!" & vbNewLine & "Check rights in sql-server for user: " & Me.txtUserName.Text, MsgBoxStyle.Exclamation)
End If
End Using
End Using
End Using
Catch ex As Exception
Logger.Error(ex)
End Try
Cursor = Cursors.Default
End Sub
Private Function GetConnectionString(WithDatabase As Boolean) As String
Dim oConnectionString As String
If chkWinAuth.Checked Then
oConnectionString = $"Data Source={txtServerName.Text};Trusted_Connection=True;"
Else
oConnectionString = $"Server={txtServerName.Text};User Id={txtUserName.Text};Password={txtPassword.Text};"
End If
If WithDatabase Then
oConnectionString &= $"Database={cmbDatabase.Text};"
End If
Return oConnectionString
End Function
Private Sub btnTestConnection_Click(sender As Object, e As EventArgs) Handles btnTestConnection.Click
Try
Dim oConnectionString = GetConnectionString(True)
Using oConnection As New SqlClient.SqlConnection(oConnectionString)
oConnection.Open()
oConnection.Close()
End Using
Dim oResult = MessageBox.Show(STRING_CONNECTION_SUCCESSFUL, Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If oResult = DialogResult.Yes Then
Dim oCrypt As New EncryptionLegacy()
Dim oEncryptedPassword = oCrypt.EncryptData(txtPassword.Text)
Dim oEncryptedConnectionString = $"Server={txtServerName.Text};Database={cmbDatabase.Text};User Id={txtUserName.Text};Password={oEncryptedPassword};"
My.SystemConfig.ConnectionString = oEncryptedConnectionString
My.SystemConfigManager.Save()
End If
Catch ex As Exception
Logger.Error(ex)
MsgBox("Error while connecting to Database", MsgBoxStyle.Critical, Text)
End Try
End Sub
End Class

View File

@ -163,7 +163,7 @@ Public Class frmFlowForm
Private ClassWindow As Window
Private ProfileFilter As ProfileFilter
Private ProfileLoader As ClassProfileLoader
Private _Environment As Environment
Private Property _Environment As Environment
' Runtime Flags
Private ApplicationLoading As Boolean = True
@ -187,7 +187,6 @@ Public Class frmFlowForm
Init = New ClassInit(My.LogConfig, Me)
AddHandler Init.Completed, AddressOf Init_Completed
Init.InitializeApplication()
_Environment = My.Application.GetEnvironment
' === Register Sidebar ===
RegisterBar(ABEdge.ABE_RIGHT)
@ -204,6 +203,8 @@ Public Class frmFlowForm
ApplicationLoading = False
SplashScreenManager.CloseForm(False)
_Environment = My.Application.GetEnvironment()
' === Initialize Error Handler ===
Logger = My.LogConfig.GetLogger()
ErrorHandler = New BaseErrorHandler(My.LogConfig, Logger, Me)
@ -911,40 +912,40 @@ Public Class frmFlowForm
oState.CurrentClipboardContents = ClipboardContents
If oState.MonitoringActive = False Then
Dim oMessage As String = "Clipboard Watcher is not active!"
Logger.Warn(oMessage)
'If oState.MonitoringActive = False Then
' Dim oMessage As String = "Clipboard Watcher is not active!"
' Logger.Warn(oMessage)
Exit Sub
End If
' Exit Sub
'End If
If oState.UserProfiles Is Nothing Then
Dim oMessage As String = "User Profiles are empty!"
Logger.Warn(oMessage)
'If oState.UserProfiles Is Nothing Then
' Dim oMessage As String = "User Profiles are empty!"
' Logger.Warn(oMessage)
Exit Sub
End If
' Exit Sub
'End If
If oState.ProfileProcesses Is Nothing OrElse oState.ProfileProcesses.Rows.Count = 0 Then
Dim oMessage As String = "Profile Processes are empty!"
Logger.Warn(oMessage)
'If oState.ProfileProcesses Is Nothing OrElse oState.ProfileProcesses.Rows.Count = 0 Then
' Dim oMessage As String = "Profile Processes are empty!"
' Logger.Warn(oMessage)
Exit Sub
End If
' Exit Sub
'End If
If oState.ProfileWindows Is Nothing OrElse oState.ProfileWindows.Rows.Count = 0 Then
Dim oMessage As String = "Profile Windows are empty!"
Logger.Warn(oMessage)
'If oState.ProfileWindows Is Nothing OrElse oState.ProfileWindows.Rows.Count = 0 Then
' Dim oMessage As String = "Profile Windows are empty!"
' Logger.Warn(oMessage)
Exit Sub
End If
' Exit Sub
'End If
If oState.ProfileControls Is Nothing OrElse oState.ProfileControls.Rows.Count = 0 Then
Dim oMessage As String = "Profile Processes are empty!"
Logger.Warn(oMessage)
'If oState.ProfileControls Is Nothing OrElse oState.ProfileControls.Rows.Count = 0 Then
' Dim oMessage As String = "Profile Processes are empty!"
' Logger.Warn(oMessage)
Exit Sub
End If
' Exit Sub
'End If
Dim oWindowInfo = ClassWindow.GetWindowInfo()
@ -961,7 +962,7 @@ Public Class frmFlowForm
Try
Dim oProfiles = ProfileFilter.Profiles
Dim oEnvironment = ClassEnvironment.GetEnvironment()
Dim oEnvironment = My.Application.GetEnvironment()
' Filter by Clipboard Contents
oProfiles = ProfileFilter.FilterProfilesByClipboardRegex(oProfiles, ClipboardContents)
@ -995,13 +996,11 @@ Public Class frmFlowForm
End Try
End Sub
Private Sub HotkeyClass_HotKeyPressed(HotKeyID As String)
Private Async Sub HotkeyClass_HotKeyPressed(HotKeyID As String)
Dim oState = My.Application.ClipboardWatcher
Select Case HotKeyID
Case HOTKEY_TRIGGER_WATCHER
'Animator.Highlight(Cursor.Position)
If oState.CurrentClipboardContents = String.Empty Then
Logger.Info("Current Clipboard Contents is empty. Exiting.")
Exit Sub
@ -1021,10 +1020,21 @@ Public Class frmFlowForm
ElseIf oState.CurrentProfilesWithResults.Count = 0 Then
NotifyIcon.ShowBalloonTip(NOTIFICATION_DELAY, "ClipboardWatcher", "Es wurden weder Dokumente noch Daten gefunden!", ToolTipIcon.Warning)
ElseIf oState.CurrentProfilesWithResults.Count = 1 Then
Dim oProfile = oState.CurrentProfilesWithResults.First()
Dim oProfileSearches As New ProfileSearches(My.LogConfig, My.Application.GetEnvironment(), oState.CurrentClipboardContents)
Dim oFormTitle = GetResultWindowString(oState.CurrentClipboardContents)
' For now we assume these are document results instead of data results
Dim oForm = Await oProfileSearches.GetDocResultForm(oProfile, oFormTitle, Modules.ZooFlow.Constants.OperationMode.ZooFlow)
AddHandler oForm.NeedsRefresh, AddressOf ProfileResultForm_NeedsRefresh
oForm.Show()
Else
Dim oProfiles = oState.CurrentProfilesWithResults
Dim oEnvironment = My.Application.GetEnvironment()
Dim oParams As New DigitalData.Modules.ZooFlow.ClipboardWatcherParams With {
Dim oParams As New ClipboardWatcherParams With {
.ClipboardContents = oState.CurrentClipboardContents,
.MatchingProfiles = oProfiles,
.MatchTreeView = oState.MatchTreeView,
@ -1050,6 +1060,26 @@ Public Class frmFlowForm
End Select
End Sub
Private Async Sub ProfileResultForm_NeedsRefresh(sender As Object, e As Integer)
Dim oThisForm As IResultForm = sender
Dim oState = My.Application.ClipboardWatcher
Dim oProfileSearch As New ProfileSearches(My.LogConfig, _Environment, oState.CurrentClipboardContents)
If TypeOf sender Is frmDocumentResultList Then
Dim oProfileId = e
Dim oSearches = Await oProfileSearch.LoadDocumentSearchesAsync(oProfileId)
Dim oResults = oSearches.Select(Function(search)
Return New DocumentResultList.DocumentResult() With {
.Title = search.TabCaption,
.Datatable = search.DataTable
}
End Function).ToList()
'RaiseEvent ResultsRefreshed(Me, Nothing)
oThisForm.RefreshResults(oResults)
End If
End Sub
Private Sub PictureBoxPM1_Click(sender As Object, e As EventArgs) Handles PictureBoxPM1.Click
ToastNotificationsManager1.ShowNotification(ToastNotificationsManager1.Notifications(1))
End Sub

View File

@ -3,7 +3,6 @@ Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Config
Module modCurrent
Public Property LOGGER As Logger
Public Property CURR_MISSING_PATTERN_NAME = "Email To"
Public Property CURR_MISSING_SEARCH_STRING = String.Empty
Public Property CURR_MISSING_MANUAL_VALUE = String.Empty