Zooflow: MASSIVE Clean up in Globix Module

This commit is contained in:
Jonathan Jenne
2021-12-13 16:07:41 +01:00
parent 957d7a3986
commit a7ec95cb19
37 changed files with 726 additions and 2989 deletions

View File

@@ -5,9 +5,19 @@ Imports DigitalData.Modules.Logging
Imports Microsoft.Office.Interop
Public Class ClassFileDrop
Public Shared files_dropped As String()
Public files_dropped As String()
Private _LOGGER As Logger
Private clsFilehandle As ClassFilehandle
Public Class DroppedFile
Public FilePath As String
Public Enum DropType
Filesystem
OutlookAttachment
OutlookMessage
End Enum
End Class
Public Sub New(LogConfig As LogConfig)
_LOGGER = LogConfig.GetLogger()
clsFilehandle = New ClassFilehandle()

View File

@@ -1,5 +1,6 @@
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.ZooFlow.Base
Imports DigitalData.GUIs.ZooFlow.Globix.Models
Imports DigitalData.GUIs.ZooFlow.frmGlobix_Index
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
@@ -9,10 +10,12 @@ Public Class ClassValidator
Inherits BaseClass
Private ReadOnly Client As Client
Private ReadOnly ManualIndexes As List(Of ManualIndex)
Public Sub New(pLogConfig As LogConfig, pClient As Client)
Public Sub New(pLogConfig As LogConfig, pClient As Client, pManualIndexes As List(Of ManualIndex))
MyBase.New(pLogConfig)
Client = pClient
ManualIndexes = pManualIndexes
End Sub
Function ValidateControls(pPanel As Panel, pDocType As DocType) As Boolean
@@ -22,6 +25,10 @@ Public Class ClassValidator
For Each oControl As Control In pPanel.Controls
If oControl.Name.StartsWith("lbl") Then
Continue For
End If
' ========================= TEXT BOX =========================
If oControl.Name.StartsWith("txt") Then
Dim oTextBox As DevExpress.XtraEditors.TextEdit = oControl
@@ -52,6 +59,7 @@ Public Class ClassValidator
Return False
End If
End If
ElseIf oControl.Name.StartsWith("cmbSingle") Then
Dim cmbSingle As TextBox = oControl
@@ -228,9 +236,10 @@ Public Class ClassValidator
End Function
Private Function TestIsIndexOptional(pDocType As DocType, pIndexName As String) As Boolean
Dim oIsOptional As Boolean = My.Helpers.GetValueFromDatatable(
My.Application.Globix.CURR_DT_MAN_INDEXE,
$"DOK_ID = {pDocType.Guid} AND INDEXNAME = '{pIndexName}'", "OPTIONAL", "")
Dim oIsOptional As Boolean = ManualIndexes.
Where(Function(index) index.DocTypeId = pDocType.Guid And index.Name = pIndexName).
Select(Function(index) index.IsOptional).
FirstOrDefault()
Return oIsOptional
End Function

View File

@@ -3,11 +3,14 @@ Imports DigitalData.Modules.Logging
Imports Oracle.ManagedDataAccess.Client
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Patterns
Imports DigitalData.GUIs.ZooFlow.Globix.Models
Public Class GlobixControls
Private Property Form As frmGlobix_Index
Private Property Panel As Panel
Private Patterns As GlobixPatterns
Private ReadOnly DocType As DocType
Private Property Patterns2 As Patterns2
Public Class ControlMeta
Public Property IndexName As String
@@ -15,11 +18,12 @@ Public Class GlobixControls
Public Property MultipleValues As Boolean = False
End Class
Private _Logger As Logger
Public Sub New(LogConfig As LogConfig, Panel As Panel, Form As frmGlobix_Index)
Public Sub New(LogConfig As LogConfig, Panel As Panel, Form As frmGlobix_Index, pDocType As DocType)
_Logger = LogConfig.GetLogger
Me.Form = Form
Me.Panel = Panel
Patterns = New GlobixPatterns(LogConfig)
DocType = pDocType
Patterns2 = New Patterns2(LogConfig)
End Sub
Public Function AddCheckBox(indexname As String, y As Integer, vorbelegung As String, caption As String)
@@ -106,7 +110,7 @@ Public Class GlobixControls
If oConnectionString IsNot Nothing And oSql.Length > 0 And SQLSuggestion = True Then
_Logger.Debug("Connection String (redacted): [{0}]", oConnectionString.Substring(0, 30))
If Patterns.HasComplexPatterns(oSql) Then
If Patterns2.HasComplexPatterns(oSql) Then
_Logger.Debug("sql enthält Platzhalter und wird erst während der Laufzeit gefüllt!", False)
Else
Dim oDatatable = My.DatabaseECM.GetDatatableWithConnection(oSql, oConnectionString)
@@ -189,7 +193,7 @@ Public Class GlobixControls
Private Sub Get_NextComboBoxResults(cmb As ComboBox)
Try
Dim indexname = cmb.Name.Replace("cmb", "")
Dim sql = "SELECT GUID,NAME,SQL_RESULT FROM TBDD_INDEX_MAN where SUGGESTION = 1 AND SQL_RESULT like '%@" & indexname & "%' and DOK_ID = " & My.Application.Globix.CURRENT_DOCTYPE_ID & " ORDER BY SEQUENCE"
Dim sql = "SELECT GUID,NAME,SQL_RESULT FROM TBDD_INDEX_MAN where SUGGESTION = 1 AND SQL_RESULT like '%@" & indexname & "%' and DOK_ID = " & DocType.Guid & " ORDER BY SEQUENCE"
Dim DT As DataTable = My.DatabaseECM.GetDatatable(sql)
If Not IsNothing(DT) Then
If DT.Rows.Count > 0 Then
@@ -417,10 +421,9 @@ Public Class GlobixControls
Continue For
End If
oControlSql = Patterns.ReplaceUserValues(oControlSql, My.Application.Globix.CURRENT_DOCTYPE_ID)
oControlSql = Patterns.ReplaceInternalValues(oControlSql)
oControlSql = Patterns.ReplaceControlValues(oControlSql, Panel)
oControlSql = Patterns2.ReplaceInternalValues(oControlSql)
oControlSql = Patterns2.ReplaceUserValues(oControlSql, My.Application.User)
oControlSql = Patterns2.ReplaceControlValues(oControlSql, Panel)
_Logger.Debug("SQL After Preparing: [{0}]", oControlSql)
_Logger.Debug("Setting new value for [{0}]", oControlName)

View File

@@ -4321,7 +4321,7 @@ Namespace GlobixDatasetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.DD_ECMConnectionString
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.ECMConnectionStringDEFAULT
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -4829,7 +4829,7 @@ Namespace GlobixDatasetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.DD_ECMConnectionString
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.ECMConnectionStringDEFAULT
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -5306,7 +5306,7 @@ Namespace GlobixDatasetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.DD_ECMConnectionString
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.ECMConnectionStringDEFAULT
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -5670,7 +5670,7 @@ Namespace GlobixDatasetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.DD_ECMConnectionString
Me._connection.ConnectionString = Global.DigitalData.GUIs.ZooFlow.Settings.Default.ECMConnectionStringDEFAULT
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _

View File

@@ -4,12 +4,12 @@
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections>
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="DD_ECMConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="DD_ECMConnectionString (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.DigitalData.GUIs.ZooFlow.Settings.GlobalReference.Default.DD_ECMConnectionString" Provider="System.Data.SqlClient" />
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="ECMConnectionStringDEFAULT" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="ECMConnectionStringDEFAULT (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.DigitalData.GUIs.ZooFlow.Settings.GlobalReference.Default.ECMConnectionStringDEFAULT" Provider="System.Data.SqlClient" />
</Connections>
<Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBDD_DOKUMENTARTTableAdapter" GeneratorDataComponentClassName="TBDD_DOKUMENTARTTableAdapter" Name="TBDD_DOKUMENTART" UserDataComponentName="TBDD_DOKUMENTARTTableAdapter">
<MainSource>
<DbSource ConnectionRef="DD_ECMConnectionString (Settings)" DbObjectName="DD_ECM.dbo.TBDD_DOKUMENTART" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DbSource ConnectionRef="ECMConnectionStringDEFAULT (Settings)" DbObjectName="DD_ECM.dbo.TBDD_DOKUMENTART" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM TBDD_DOKUMENTART
@@ -104,7 +104,7 @@ SELECT GUID, BEZEICHNUNG, OBJEKTTYP, EINGANGSART_ID, KURZNAME, ZIEL_PFAD, BESCHR
<Mapping SourceColumn="IDB_OBJECT_STORE_ID" DataSetColumn="IDB_OBJECT_STORE_ID" />
</Mappings>
<Sources>
<DbSource ConnectionRef="DD_ECMConnectionString (Settings)" DbObjectName="DD_ECM.dbo.TBDD_DOKUMENTART" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillAllDoctypes" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataDoctypes" GeneratorSourceName="FillAllDoctypes" GetMethodModifier="Public" GetMethodName="GetDataDoctypes" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataDoctypes" UserSourceName="FillAllDoctypes">
<DbSource ConnectionRef="ECMConnectionStringDEFAULT (Settings)" DbObjectName="DD_ECM.dbo.TBDD_DOKUMENTART" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillAllDoctypes" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataDoctypes" GeneratorSourceName="FillAllDoctypes" GetMethodModifier="Public" GetMethodName="GetDataDoctypes" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataDoctypes" UserSourceName="FillAllDoctypes">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT TBDD_DOKUMENTART.GUID, TBDD_DOKUMENTART.BEZEICHNUNG, TBDD_DOKUMENTART.OBJEKTTYP, TBDD_DOKUMENTART.EINGANGSART_ID, TBDD_DOKUMENTART.KURZNAME, TBDD_DOKUMENTART.ZIEL_PFAD,
@@ -124,7 +124,7 @@ ORDER BY TBDD_DOKUMENTART.BEZEICHNUNG</CommandText>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBDD_INDEX_MANTableAdapter" GeneratorDataComponentClassName="TBDD_INDEX_MANTableAdapter" Name="TBDD_INDEX_MAN" UserDataComponentName="TBDD_INDEX_MANTableAdapter">
<MainSource>
<DbSource ConnectionRef="DD_ECMConnectionString (Settings)" DbObjectName="DD_ECM.dbo.TBDD_INDEX_MAN" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DbSource ConnectionRef="ECMConnectionStringDEFAULT (Settings)" DbObjectName="DD_ECM.dbo.TBDD_INDEX_MAN" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>DELETE FROM TBDD_INDEX_MAN
@@ -236,7 +236,7 @@ SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALU
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBDD_INDEX_AUTOMTableAdapter" GeneratorDataComponentClassName="TBDD_INDEX_AUTOMTableAdapter" Name="TBDD_INDEX_AUTOM" UserDataComponentName="TBDD_INDEX_AUTOMTableAdapter">
<MainSource>
<DbSource ConnectionRef="DD_ECMConnectionString (Settings)" DbObjectName="DD_ECM.dbo.TBDD_INDEX_AUTOM" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DbSource ConnectionRef="ECMConnectionStringDEFAULT (Settings)" DbObjectName="DD_ECM.dbo.TBDD_INDEX_AUTOM" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>DELETE FROM TBDD_INDEX_AUTOM
@@ -325,7 +325,7 @@ SELECT GUID, DOCTYPE_ID, ENTITY_ID, INDEXNAME, VALUE, CONNECTION_ID, SQL_RESULT,
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBGI_REGEX_DOCTYPETableAdapter" GeneratorDataComponentClassName="TBGI_REGEX_DOCTYPETableAdapter" Name="TBGI_REGEX_DOCTYPE" UserDataComponentName="TBGI_REGEX_DOCTYPETableAdapter">
<MainSource>
<DbSource ConnectionRef="DD_ECMConnectionString (Settings)" DbObjectName="DD_ECM.dbo.TBGI_REGEX_DOCTYPE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DbSource ConnectionRef="ECMConnectionStringDEFAULT (Settings)" DbObjectName="DD_ECM.dbo.TBGI_REGEX_DOCTYPE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM TBGI_REGEX_DOCTYPE

View File

@@ -1,453 +0,0 @@
Imports System.Text.RegularExpressions
Imports DevExpress.XtraEditors
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Public Class GlobixPatterns
Private _Logger As Logger
Private _idbdata As ClassIDBData
Public Sub New(LogConfig As LogConfig)
_Logger = LogConfig.GetLogger
_idbdata = New ClassIDBData(LogConfig)
End Sub
' Complex patterns that rely on a datasource like a Database or Windream
Public Const PATTERN_WMI = "WMI"
Public Const PATTERN_IDBA = "IDBA"
Public Const PATTERN_CTRL = "CTRL"
' Simple patterns that only rely on .NET functions
Public Const PATTERN_INT = "INT"
' Simple patterns that rely on Data from the TBDD_USER table
Public Const PATTERN_USER = "USER"
Public Const USER_VALUE_PRENAME = "PRENAME"
Public Const USER_VALUE_SURNAME = "SURNAME"
Public Const USER_VALUE_EMAIL = "EMAIL"
Public Const USER_VALUE_SHORTNAME = "SHORTNAME"
Public Const USER_VALUE_LANGUAGE = "LANGUAGE"
Public Const USER_VALUE_USER_ID = "USER_ID"
Public Const USER_VALUE_PROFILE_ID = "PROFILE_ID"
Public Const INT_VALUE_USERNAME = "USERNAME"
Public Const INT_VALUE_MACHINE = "MACHINE"
Public Const INT_VALUE_DOMAIN = "DOMAIN"
Public Const INT_VALUE_DATE = "DATE"
Public Const MAX_TRY_COUNT = 500
Private myregex As Regex = New Regex("{#(\w+)#([\.\w\d\s_-]+)}+")
Private allPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_IDBA, PATTERN_USER, PATTERN_INT}
Private complexPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_IDBA}
Private simplePatterns As New List(Of String) From {PATTERN_USER, PATTERN_INT}
''' <summary>
''' Wraps a pattern-type and -value in the common format: {#type#value}
''' </summary>
Public Function WrapPatternValue(type As String, value As String) As String
Return New Pattern(type, value).ToString
End Function
Public Function ReplaceAllValues(input As String, panel As Panel, prename As Object, surname As Object, shortname As Object, language As Object, email As Object, userId As Object, profileId As Object, pissql As Boolean) As String
Try
Dim result = input
_Logger.Debug($"inputString BEFORE replacing: [{result}]")
result = ReplaceInternalValues(result)
result = ReplaceControlValues(result, panel)
result = ReplaceIDBAttributes(My.Application.Globix.CURRENT_IDB_OBJ_ID, result, pissql)
result = ReplaceUserValues(result, profileId)
_Logger.Debug($"inputString AFTER replacing: [{result}]")
Return result
Catch ex As Exception
_Logger.Error(ex)
_Logger.Info("Error in ReplaceAllValues:" & ex.Message)
End Try
End Function
Public Function ReplaceInternalValues(input As String) As String
Try
Dim result = input
' Replace Username(s)
While ContainsPatternAndValue(result, PATTERN_INT, INT_VALUE_USERNAME)
result = ReplacePattern(result, PATTERN_INT, Environment.UserName)
End While
' Replace Machinename(s)
While ContainsPatternAndValue(result, PATTERN_INT, INT_VALUE_MACHINE)
result = ReplacePattern(result, PATTERN_INT, Environment.MachineName)
End While
' Replace Domainname(s)
While ContainsPatternAndValue(result, PATTERN_INT, INT_VALUE_DOMAIN)
result = ReplacePattern(result, PATTERN_INT, Environment.UserDomainName)
End While
' Replace CurrentDate(s)
While ContainsPatternAndValue(result, PATTERN_INT, INT_VALUE_DATE)
result = ReplacePattern(result, PATTERN_INT, Now.ToShortDateString)
End While
_Logger.Debug("sql after ReplaceInternalValues: " & input)
Return result
Catch ex As Exception
_Logger.Error(ex)
_Logger.Info("Error in ReplaceInternalValues:" & ex.Message)
End Try
End Function
Public Function ReplaceUserValues(input As String, profileId As Object) As String
Try
Dim result = input
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_PRENAME)
result = ReplacePattern(result, PATTERN_USER, My.Application.User.GivenName)
End While
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_USER_ID)
result = ReplacePattern(result, PATTERN_USER, My.Application.User.UserId)
End While
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_SURNAME)
result = ReplacePattern(result, PATTERN_USER, My.Application.User.Surname)
End While
If IsDBNull(My.Application.User.ShortName) Then
My.Application.User.ShortName = ""
End If
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_SHORTNAME)
result = ReplacePattern(result, PATTERN_USER, My.Application.User.ShortName)
End While
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_LANGUAGE)
result = ReplacePattern(result, PATTERN_USER, My.Application.User.Language)
End While
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_EMAIL)
result = ReplacePattern(result, PATTERN_USER, My.Application.User.Email)
End While
While ContainsPatternAndValue(result, PATTERN_USER, USER_VALUE_PROFILE_ID)
result = ReplacePattern(result, PATTERN_USER, profileId)
End While
_Logger.Debug("sql after ReplaceUserValues: " & input)
Return result
Catch ex As Exception
_Logger.Error(ex)
_Logger.Info("Error in ReplaceUserValues:" & ex.Message)
End Try
End Function
Public Function ReplaceControlValues(input As String, panel As Panel) As String
Try
Dim result = input
Dim oTryCounter = 0
_Logger.Debug("Input String: [{0}]", input)
While ContainsPattern(result, PATTERN_CTRL)
_Logger.Debug("ReplaceControlValues Try no. [{0}]", oTryCounter)
If oTryCounter > MAX_TRY_COUNT Then
Throw New Exception($"Max tries in ReplaceControlValues exceeded - Result so far [{result}].")
End If
_Logger.Debug("Getting next pattern..")
Dim oNextPattern = GetNextPattern(result, PATTERN_CTRL)
If oNextPattern Is Nothing Then
_Logger.Debug("No Next Pattern found. Exiting!")
Exit While
End If
_Logger.Debug("Next Pattern Value: [{0}]", oNextPattern.Value)
_Logger.Debug("Next Pattern Type: [{0}]", oNextPattern.Type)
Dim controlName As String = oNextPattern.Value
Dim oFoundControl As Control = Nothing
Dim oFoundType As String = Nothing
For Each oControl As Control In panel.Controls
If TypeOf oControl Is Label Then
Continue For
End If
_Logger.Debug("Getting control metadata from Control: [{0}]", oControl.Name)
If oControl.Tag Is Nothing Then
_Logger.Warn("No Metadata object found for control [{0}]. Skipping.", oControl.Name)
Continue For
End If
Dim oMeta = TryCast(oControl.Tag, GlobixControls.ControlMeta)
_Logger.Debug("Metadata IndexName: [{0}]", oMeta.IndexName)
_Logger.Debug("Metadata IndexType: [{0}]", oMeta.IndexType)
_Logger.Debug("Checking Control Name matches..")
If oMeta Is Nothing Then
_Logger.Warn("No Metadata found for control [{0}]. Skipping.", oControl.Name)
Continue For
End If
If oMeta.IndexName = controlName Then
_Logger.Debug("Control Name matches! Matching Control: [{0}]", controlName)
oFoundControl = oControl
oFoundType = oMeta.IndexType
Exit For
End If
Next
If oFoundControl IsNot Nothing Then
Dim oValue As String = String.Empty
_Logger.Debug("Found Control [{0}], continuing with setting value..", oFoundControl.Name)
If TypeOf oFoundControl Is TextEdit Then
Try
oValue = DirectCast(oFoundControl, TextEdit).Text
Catch ex As Exception
_Logger.Error(ex)
_Logger.Warn("Control Value for TextBox [{0}] could not be retrieved!", oFoundControl.Name)
End Try
ElseIf TypeOf oFoundControl Is CheckBox Then
Try
oValue = IIf(DirectCast(oFoundControl, CheckBox).Checked, 1, 0)
Catch ex As Exception
_Logger.Error(ex)
_Logger.Warn("Control Value for CheckBox [{0}] could not be retrieved!", oFoundControl.Name)
End Try
ElseIf TypeOf oFoundControl Is LookupControl3 Then
Try
Dim oLookupControl = DirectCast(oFoundControl, LookupControl3)
If oLookupControl.Properties.MultiSelect Then
Select Case oFoundType
Case "INTEGER"
oValue = String.Join(",", oLookupControl.Properties.SelectedValues)
Case "VARCHAR"
Dim oWrapped = oLookupControl.Properties.SelectedValues
oValue = String.Join(",", oWrapped)
Case Else
_Logger.Warn("Lookup Control with [{0}] is not supported!", oFoundType)
End Select
Else
oValue = NotNull(oLookupControl.Properties.SelectedValues.Item(0), "")
End If
Catch ex As Exception
_Logger.Error(ex)
_Logger.Warn("Control Value for LookupControl2 [{0}] could not be retrieved!", oFoundControl.Name)
End Try
Else
_Logger.Debug("Unknown Control type for type [{0}], setting value to empty string.", oFoundControl.Name)
oValue = ""
End If
_Logger.Debug("Retrieved Value from Control [{0}] is: [{1}]", controlName, oValue)
result = ReplacePattern(result, PATTERN_CTRL, oValue)
Else
_Logger.Warn("Control [{0}] not found!", controlName)
End If
oTryCounter += 1
End While
_Logger.Debug("input after ReplaceControlValues [{input}]")
Return result
Catch ex As Exception
_Logger.Error(ex)
_Logger.Info("Error in ReplaceControlValues:" & ex.Message)
Return input
End Try
End Function
Public Function ReplaceIDBAttributes(IDB_OBJ_ID As Long, pInput As String, IS_SQL As Boolean) As String
Try
Dim oResult = pInput
Dim oTryCounter As Integer = 0
While ContainsPattern(oResult, PATTERN_IDBA)
Dim indexName As String = GetNextPattern(oResult, PATTERN_IDBA).Value
Dim oIDBValue As Object
If indexName = "ObjectID" Then
oIDBValue = IDB_OBJ_ID
ElseIf indexName = "OBJID" Then
oIDBValue = IDB_OBJ_ID
ElseIf indexName = "DocID" Then
oIDBValue = IDB_OBJ_ID
Else
oIDBValue = _idbdata.GetVariableValue(indexName)
End If
If IsNothing(oIDBValue) And oTryCounter = MAX_TRY_COUNT Then
_Logger.Warn($"Max tries for [{indexName}] in ReplaceIDBAttributes exceeded - Replacing with [0]!")
Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}"
oResult = oResult.Replace(oReplaceValue, 0)
Throw New Exception("Max tries in ReplaceIDBAttributes exceeded.")
End If
If oIDBValue IsNot Nothing Or Not IsDBNull(oIDBValue) Then
Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}"
If IS_SQL = True Then
_Logger.Debug($"IS_SQL = True - oReplaceValue = [{oReplaceValue}]")
If indexName <> "ObjectID" And indexName <> "OBJID" And indexName <> "DocID" Then
Try
oIDBValue = oIDBValue.Replace("'", "''")
Catch ex As Exception
_Logger.Warn($"Invalid IDBValue for [{indexName}] in ReplaceIDBAttributes [{ex.Message}] - Replacing with [0]!")
oIDBValue = 0
End Try
End If
_Logger.Debug($"oIDBValue = {oIDBValue}")
End If
oResult = oResult.Replace(oReplaceValue, oIDBValue)
Else
_Logger.Warn($"IDBValue for [{indexName}] in ReplaceIDBAttributes is nothing or dbnull - Replacing with [0]!")
Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}"
oResult = oResult.Replace(oReplaceValue, 0)
End If
oTryCounter += 100
End While
_Logger.Debug("sql after ReplaceIDBAttributes: " & pInput)
Return oResult
Catch ex As Exception
_Logger.Error(ex)
_Logger.Info("Error in ReplaceIDBAttributes:" & ex.Message)
Return pInput
End Try
End Function
Private Function ContainsPattern(input As String, type As String) As Boolean
Dim elements As MatchCollection = myregex.Matches(input)
For Each element As Match In elements
Dim t As String = element.Groups(1).Value
If t = type Then
Return True
End If
Next
Return False
End Function
Public Function GetNextPattern(input As String, type As String) As Pattern
Dim elements As MatchCollection = myregex.Matches(input)
For Each element As Match In elements
' Pattern in input
Dim t As String = element.Groups(1).Value
Dim v As String = element.Groups(2).Value
If t = type Then
Return New Pattern(t, v)
End If
Next
Return Nothing
End Function
Public Function GetAllPatterns(input As String) As List(Of Pattern)
Dim elements As MatchCollection = myregex.Matches(input)
Dim results As New List(Of Pattern)
For Each element As Match In elements
' Pattern in input
Dim t As String = element.Groups(1).Value
Dim v As String = element.Groups(2).Value
results.Add(New Pattern(t, v))
Next
Return results
End Function
Public Function ReplacePattern(input As String, type As String, replacement As String) As String
Dim elements As MatchCollection = myregex.Matches(input)
If IsNothing(replacement) Then
Return input
End If
For Each element As Match In elements
' if group 1 contains the 'pattern' the replace whole group with 'replacement'
' and return it
If element.Groups(1).Value = type Then
Return Regex.Replace(input, element.Groups(0).Value, replacement)
End If
Next
' no replacement made
Return input
End Function
Private Function ContainsPatternAndValue(input As String, type As String, value As String) As Boolean
Dim elements As MatchCollection = myregex.Matches(input)
For Each element As Match In elements
' Pattern in input
Dim t As String = element.Groups(1).Value
Dim v As String = element.Groups(2).Value
If t = type And v = value Then
Return True
End If
Next
Return False
End Function
Public Function HasAnyPatterns(pInput As String) As Boolean
Return allPatterns.Any(Function(p)
Return HasPattern(pInput, p)
End Function)
End Function
Public Function HasOnlySimplePatterns(input As String) As Boolean
Return Not HasComplexPatterns(input)
End Function
Public Function HasComplexPatterns(input As String) As Boolean
Return complexPatterns.Any(Function(p)
Return HasPattern(input, p)
End Function)
End Function
Public Function HasPattern(input As String, type As String) As Boolean
Dim matches = myregex.Matches(input)
For Each match As Match In matches
For Each group As Group In match.Groups
If group.Value = type Then
Return True
End If
Next
Next
Return False
End Function
Public Class Pattern
Public ReadOnly Property Type As String
Public ReadOnly Property Value As String
Public Sub New(type As String, value As String)
Me.Type = type
Me.Value = value
End Sub
'Public Sub New(stringRepresentation As String)
' Dim elements As MatchCollection = myregex.Matches(stringRepresentation)
' Dim first As Match = elements.Item(0)
' Dim t As String = first.Groups(1).Value
' Dim v As String = first.Groups(2).Value
' Type = t
' Value = v
'End Sub
Public Overrides Function ToString() As String
Return $"{{#{Type}#{Value}}}"
End Function
End Class
End Class

View File

@@ -1,95 +0,0 @@
Imports System.Text.RegularExpressions
Imports DigitalData.Modules.Logging
Public Class GlobixPostprocessing
Private _Logger As Logger
Public Sub New(LogConfig As LogConfig)
_Logger = LogConfig.GetLogger
End Sub
Private Const VBSPLIT = "VBSPLIT"
Private Const VBREPLACE = "VBREPLACE"
Private Const REGEXPRESSION = "REG. EXPRESSION"
Public Function Get_Nachbearbeitung_Wert(idxvalue As String, Datatable As DataTable) As String
Dim oIndexValues As List(Of String) = idxvalue.Split("~").ToList()
Try
For Each oDataRow As DataRow In Datatable.Rows
Dim oResult As New List(Of String)
Dim oType As String = oDataRow.Item("TYPE").ToString.ToUpper
Select Case oType
Case VBSPLIT
_Logger.Info(" ...Nachbearbeitung mit VBSPLIT")
Dim oSeparator As String = oDataRow.Item("TEXT1")
Dim oSplitIndex As Integer = 0
Integer.TryParse(oDataRow.Item("TEXT2"), oSplitIndex)
For Each oIndexValue In oIndexValues
Dim oSplitted As List(Of String) = oIndexValue.Split(oSeparator).ToList()
oResult.Add(oSplitted.Item(oSplitIndex))
Next
Case VBREPLACE
Dim oFindString = oDataRow.Item("TEXT1")
Dim oReplaceString = oDataRow.Item("TEXT2")
_Logger.Info(" ...Nachbearbeitung mit VBREPLACE")
_Logger.Info(" ...Ersetze '" & oFindString & "' mit '" & oReplaceString & "'")
For Each oIndexValue In oIndexValues
Dim oReplaceResult = oIndexValue.Replace(oFindString, oReplaceString)
oResult.Add(oReplaceResult)
Next
Case REGEXPRESSION
_Logger.Info(" ...Nachbearbeitung mit RegEx")
Dim oRegexList As New List(Of Regex)
Dim oRegex As New Regex(oDataRow.Item("TEXT1"), RegexOptions.IgnoreCase)
oRegexList.Add(oRegex)
For Each oIndexValue In oIndexValues
Dim oProcessedString = extractFromStringviaRE(oIndexValue, oRegexList)
oResult.Add(oProcessedString)
_Logger.Info(" ...Ergebnis des RegEx: " & oProcessedString)
Next
End Select
oIndexValues = oResult
Next
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Get_Nachbearbeitung_Wert:")
_Logger.Info(" - Unvorhergesehener Unexpected error in Get_Nachbearbeitung_Wert - result: " & idxvalue & " - Fehler: " & vbNewLine & ex.Message)
End Try
Return String.Join("~", oIndexValues.ToArray)
End Function
''' <summary>
''' Extrahiert aus dem String anhand einer Liste von Regular Expressions ein Ergebnis.
''' </summary>
''' <param name="SearchString">Der zu untersuchende String erzeugt wurden.</param>
''' <param name="RegexList">Eine Liste von Regular Expressions</param>
''' <param name="RegexGroup">Die Ergebnisgruppe, die die Adresse enthält</param>
''' <returns>Eine Emailadresse oder Nothing, wenn keine der Regular Expressions ein Ergebnis lieferte.</returns>
Public Function extractFromStringviaRE(SearchString As String, RegexList As List(Of Regex), Optional RegexGroup As Integer = 1)
If IsNothing(SearchString) Then
Return Nothing
End If
For Each rx In RegexList
Dim match As Match = rx.Match(SearchString)
Dim result As String = match.Groups(RegexGroup).Value
If Not String.IsNullOrWhiteSpace(result) Then
'Nur den ersten Wert zurückgeben
Return result
End If
Next
Return Nothing
End Function
End Class

View File

@@ -0,0 +1,11 @@
Namespace Globix.Models
Public Class DocType
Public Property Guid
Public Property Name
Public Property ObjectStore
Public Overrides Function ToString() As String
Return Name
End Function
End Class
End Namespace

View File

@@ -0,0 +1,25 @@
Namespace Globix.Models
Public Class ManualIndex
Public Property Id As Integer
Public Property DocTypeName As String
Public Property DocTypeId As Integer
Public Property Name As String
Public Property Comment As String
Public Property DataType As String
Public Property Sequence As Integer
Public Property SQLSuggestion As String
Public Property SQLCommand As String
Public Property SQLConnection As Integer
Public Property DefaultValue As String
Public Property IsOptional As Boolean
Public Property IsActive As Boolean
Public Property IsMultiselect As Boolean
Public Property AllowAddingItems As Boolean
Public Property PreventMultleValue As Boolean
End Class
End Namespace

View File

@@ -23,15 +23,12 @@ Namespace Globix
Public Property INDEXING_ACTIVE As Boolean = False
Public Property ABORT_INDEXING As Boolean = False
Public Property CURRENT_ISATTACHMENT As Boolean = False
Public Property CURR_DELETE_ORIGIN As Boolean = False
Public Property CURRENT_DROPTYPE As String
Public Property DeleteOriginalFile As Boolean = False
Public Property CURRENT_LASTDOCTYPE As String
Public Property CURRENT_DOCTYPE_ID As Int16
Public Property CURRENT_DOCTYPE_DuplicateHandling As String
Public Property MULTIINDEXING_ACTIVE As Boolean = False
Public Property ECMDirect As Boolean = True
Public Property CURRENT_PROFILE_LOG_INDEX As String
Public Property ShowIndexResult As Boolean = True
Public Property CURR_DT_MAN_INDEXE As DataTable
Public Property CURR_DT_AUTO_INDEXE As DataTable
Public Property CURR_DT_DOCTYPE As DataTable
@@ -39,9 +36,7 @@ Namespace Globix
Public Property FILE_DELIMITER As String
Public Property VERSION_DELIMITER As String
Public Property CURRENT_MESSAGEID As String
Public Property CURRENT_BusinessEntity As String
Public Property Folderwatchstarted As Boolean = False
Public Property DTEXCLUDE_FILES As DataTable
Public Property PATH_FileExclusions As String = Path.Combine(Application.UserAppDataPath(), "FileExclusions.xml")

View File

@@ -1,4 +1,6 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Imports DevExpress.XtraEditors
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmGlobix_Index
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
@@ -52,8 +54,7 @@ Partial Class frmGlobix_Index
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.pnlIndex = New System.Windows.Forms.Panel()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.Button1 = New System.Windows.Forms.Button()
Me.btnAblageFlow = New System.Windows.Forms.Button()
Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.cmbDocType = New DevExpress.XtraEditors.ComboBoxEdit()
Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer()
@@ -149,6 +150,7 @@ Partial Class frmGlobix_Index
'
'labelError
'
Me.labelError.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right
Me.labelError.Caption = "labelError"
Me.labelError.Id = 11
Me.labelError.ImageOptions.SvgImage = CType(resources.GetObject("labelError.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
@@ -158,6 +160,7 @@ Partial Class frmGlobix_Index
'
'labelNotice
'
Me.labelNotice.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right
Me.labelNotice.Caption = "labelNotice"
Me.labelNotice.Id = 12
Me.labelNotice.ImageOptions.SvgImage = CType(resources.GetObject("labelNotice.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
@@ -264,38 +267,25 @@ Partial Class frmGlobix_Index
'
'Panel3
'
Me.Panel3.Controls.Add(Me.Button1)
Me.Panel3.Controls.Add(Me.btnAblageFlow)
Me.Panel3.Controls.Add(Me.SimpleButton1)
Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel3.Location = New System.Drawing.Point(0, 433)
Me.Panel3.Name = "Panel3"
Me.Panel3.Size = New System.Drawing.Size(522, 75)
Me.Panel3.TabIndex = 2
'
'Button1
'SimpleButton1
'
Me.Button1.Font = New System.Drawing.Font("Tahoma", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button1.Location = New System.Drawing.Point(317, 15)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(186, 44)
Me.Button1.TabIndex = 1
Me.Button1.Text = "Starte Ablage (Neu)"
Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button1.UseVisualStyleBackColor = True
'
'btnAblageFlow
'
Me.btnAblageFlow.Font = New System.Drawing.Font("Tahoma", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnAblageFlow.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZooFlow_g_64___Kopie
Me.btnAblageFlow.ImageAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnAblageFlow.Location = New System.Drawing.Point(12, 6)
Me.btnAblageFlow.Name = "btnAblageFlow"
Me.btnAblageFlow.Size = New System.Drawing.Size(185, 63)
Me.btnAblageFlow.TabIndex = 1
Me.btnAblageFlow.Text = "Starte Ablage (Alt)"
Me.btnAblageFlow.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnAblageFlow.UseVisualStyleBackColor = True
Me.SimpleButton1.Appearance.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SimpleButton1.Appearance.Options.UseFont = True
Me.SimpleButton1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SimpleButton1.ImageOptions.Location = DevExpress.XtraEditors.ImageLocation.MiddleRight
Me.SimpleButton1.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.actions_send
Me.SimpleButton1.Location = New System.Drawing.Point(0, 0)
Me.SimpleButton1.Name = "SimpleButton1"
Me.SimpleButton1.Size = New System.Drawing.Size(522, 75)
Me.SimpleButton1.TabIndex = 2
Me.SimpleButton1.Text = "Ablage starten"
'
'Panel1
'
@@ -307,12 +297,12 @@ Partial Class frmGlobix_Index
Me.Panel1.Size = New System.Drawing.Size(522, 33)
Me.Panel1.TabIndex = 0
'
'ComboBoxEdit1
'cmbDocType
'
Me.cmbDocType.Dock = System.Windows.Forms.DockStyle.Top
Me.cmbDocType.Location = New System.Drawing.Point(0, 0)
Me.cmbDocType.MenuManager = Me.RibbonControl1
Me.cmbDocType.Name = "ComboBoxEdit1"
Me.cmbDocType.Name = "cmbDocType"
SerializableAppearanceObject1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(214, Byte), Integer), CType(CType(49, Byte), Integer))
SerializableAppearanceObject1.Options.UseBackColor = True
Me.cmbDocType.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo, "", 20, True, True, False, EditorButtonImageOptions1, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject1, SerializableAppearanceObject2, SerializableAppearanceObject3, SerializableAppearanceObject4, "", Nothing, Nothing, DevExpress.Utils.ToolTipAnchor.[Default])})
@@ -390,6 +380,5 @@ Partial Class frmGlobix_Index
Friend WithEvents Panel3 As Panel
Friend WithEvents GlobixDataset As GlobixDataset
Friend WithEvents cmbDocType As DevExpress.XtraEditors.ComboBoxEdit
Friend WithEvents btnAblageFlow As Button
Friend WithEvents Button1 As Button
Friend WithEvents SimpleButton1 As SimpleButton
End Class

File diff suppressed because it is too large Load Diff