EDMI: Include Doctypes in ClientConfig

This commit is contained in:
Jonathan Jenne 2022-02-04 16:49:05 +01:00
parent d8b1b7e2b7
commit 67852d4572
19 changed files with 1564 additions and 1357 deletions

View File

@ -190,6 +190,10 @@
<Project>{3DCD6D1A-C830-4241-B7E4-27430E7EA483}</Project>
<Name>LookupControl</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Base\Base\Base.vbproj">
<Project>{6ea0c51f-c2b1-4462-8198-3de0b32b74f8}</Project>
<Name>Base</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Config\Config.vbproj">
<Project>{44982f9b-6116-44e2-85d0-f39650b1ef99}</Project>
<Name>Config</Name>

View File

@ -9,6 +9,10 @@ Namespace DocumentResultList
''' </summary>
Public Property Id As Long
''' <summary>
''' The access right given to the current user for this file
''' </summary>
''' <returns></returns>
Public Property AccessRight As AccessRight
''' <summary>
@ -16,6 +20,7 @@ Namespace DocumentResultList
''' and showing it in the DocumentViewer. It is saved without the dot-separator.
''' </summary>
Public Property Extension As String
''' <summary>
''' Binary contents of the file.
''' </summary>
@ -26,6 +31,7 @@ Namespace DocumentResultList
Public Property FullPath As String = Nothing
Public Property TempPath As String = Nothing
Public Property FileHash As String = Nothing
Public Property DocumentType As String = Nothing
Public Sub New(pPrimaryKey As Long)
Id = pPrimaryKey

View File

@ -3,6 +3,7 @@ Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.Client
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Base.IDB
Imports DigitalData.Modules.ZooFlow.Constants
Imports DigitalData.Modules.ZooFlow.State
@ -41,24 +42,29 @@ Namespace DocumentResultList
Private Function Load_FromWindream(pObjectId As Long, pFullPath As String) As Document
Dim oFileInfo As New FileInfo(pFullPath)
Dim oResultDocumentInfo = New Document(pObjectId) With {
.Contents = Load_FromDisk(pFullPath),
.AccessRight = Rights.AccessRight.FULL,
.FullPath = pFullPath,
.Extension = oFileInfo.Extension.Substring(1)
}
.Contents = Load_FromDisk(pFullPath),
.AccessRight = Rights.AccessRight.FULL,
.FullPath = pFullPath,
.Extension = oFileInfo.Extension.Substring(1)
}
Return oResultDocumentInfo
End Function
Private Function Load_FromIDB(pObjectId As Long) As Document
Try
Dim oDocumentInfo As Client.DocumentInfo = Client.GetDocumentInfo(User.UserId, pObjectId)
Dim oDocumentInfo As DocumentInfo = Client.GetDocumentInfo(User.UserId, pObjectId)
Dim oFileInfo As New FileInfo(oDocumentInfo.FullPath)
' Load Doctype Attribute
Dim oDoctype As VariableValue = Client.GetVariableValue(pObjectId, Attributes.ATTRIBUTE_DOCTYPE)
Dim oResultDocumentInfo As New Document(pObjectId) With {
.Contents = Load_FromDisk(oDocumentInfo.FullPath),
.AccessRight = oDocumentInfo.AccessRight,
.FullPath = oDocumentInfo.FullPath,
.Extension = oFileInfo.Extension.Substring(1)
.Extension = oFileInfo.Extension.Substring(1),
.DocumentType = oDoctype.Value
}
Return oResultDocumentInfo
@ -75,12 +81,16 @@ Namespace DocumentResultList
Return Nothing
End If
' Load Doctype Attribute
Dim oDoctype As VariableValue = Client.GetVariableValue(pObjectId, Attributes.ATTRIBUTE_DOCTYPE)
Dim oResultDocumentInfo As New Document(pObjectId) With {
.Contents = oFileObject._FileContents,
.Extension = oFileObject._FileExtension,
.AccessRight = Rights.AccessRight.FULL,
.FileHash = oFileObject._FileHash,
.FullPath = Nothing
.FullPath = Nothing,
.DocumentType = oDoctype.Value
}
Return oResultDocumentInfo

View File

@ -209,7 +209,7 @@ Partial Class frmDocumentResultList
'
resources.ApplyResources(Me.BarButtonResetLayout, "BarButtonResetLayout")
Me.BarButtonResetLayout.Id = 10
Me.BarButtonResetLayout.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem5.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonResetLayout.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonResetLayout.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonResetLayout.Name = "BarButtonResetLayout"
Me.BarButtonResetLayout.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
'

View File

@ -255,7 +255,7 @@
<data name="BarButtonResetLayout.Caption" xml:space="preserve">
<value>Layout zurücksetzen</value>
</data>
<data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="BarButtonResetLayout.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@ -452,10 +452,10 @@
<value>1189, 132</value>
</data>
<data name="RibbonStatusBar.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 649</value>
<value>0, 647</value>
</data>
<data name="RibbonStatusBar.Size" type="System.Drawing.Size, System.Drawing">
<value>1189, 22</value>
<value>1189, 24</value>
</data>
<data name="&gt;&gt;RibbonStatusBar.Name" xml:space="preserve">
<value>RibbonStatusBar</value>
@ -482,7 +482,7 @@
<value>2</value>
</data>
<data name="GridControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>382, 513</value>
<value>382, 511</value>
</data>
<data name="GridControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -584,7 +584,7 @@
<value>GridBand3</value>
</data>
<data name="GridControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>370, 280</value>
<value>370, 278</value>
</data>
<data name="GridControl3.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -617,7 +617,7 @@
<value>1</value>
</data>
<data name="SplitContainerControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>370, 513</value>
<value>370, 511</value>
</data>
<data name="SplitContainerControl2.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -653,7 +653,7 @@
<value>1</value>
</data>
<data name="SplitContainerControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>762, 513</value>
<value>762, 511</value>
</data>
<data name="SplitContainerControl1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -701,7 +701,7 @@
<value>0, 0</value>
</data>
<data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>413, 513</value>
<value>413, 511</value>
</data>
<data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -710,7 +710,7 @@
<value>DocumentViewer1</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Type" xml:space="preserve">
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.6.4.0, Culture=neutral, PublicKeyToken=null</value>
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.6.5.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve">
<value>SplitContainerControl3.Panel2</value>
@ -734,7 +734,7 @@
<value>1</value>
</data>
<data name="SplitContainerControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>1189, 517</value>
<value>1189, 515</value>
</data>
<data name="SplitContainerControl3.TabIndex" type="System.Int32, mscorlib">
<value>5</value>

View File

@ -54,7 +54,7 @@ Public Class frmDocumentResultList
Private ReadOnly Params As DocumentResultList.Params
Private WithEvents Watcher As DocumentResultList.Watcher
Private _Documentloader As DocumentResultList.Loader
Private Documentloader As DocumentResultList.Loader
' Runtime variables
Private _IsLoading As Boolean = True
@ -122,9 +122,10 @@ Public Class frmDocumentResultList
OperationMode = GetOperationMode()
If OperationMode = OperationMode.WithAppServer Or OperationMode = OperationMode.ZooFlow Then
InitAppServer()
End If
_Documentloader = New DocumentResultList.Loader(LogConfig, OperationMode, _IDBClient, Environment.User)
Documentloader = New DocumentResultList.Loader(LogConfig, OperationMode, _IDBClient, Environment.User)
If Params.WindowTitle <> "" Then
Text = $"{Text} - {Params.WindowTitle}"
@ -204,7 +205,7 @@ Public Class frmDocumentResultList
DocumentViewer1.CloseDocument()
oDocumentInfo = _Documentloader.Load(oObjectId, oFullPath)
oDocumentInfo = Documentloader.Load(oObjectId, oFullPath)
' Check DocumentInfo
If IsNothing(oDocumentInfo) Then
@ -237,6 +238,15 @@ Public Class frmDocumentResultList
Public Async Sub Watcher_FileChanged(sender As Object, e As DocumentResultList.Watcher.FileChangedArgs) Handles Watcher.FileChanged
Try
Dim oDoctype = Nothing
If e.File.Document.DocumentType IsNot Nothing Then
oDoctype = _IDBClient.ClientConfig.DocumentTypes.
Where(Function(doctype) doctype.Name = e.File.Document.DocumentType).
FirstOrDefault()
End If
Dim oFileInfo = New FileInfo(e.File.FilePath)
Dim oMessage = $"Die Datei '{oFileInfo.Name}' wurde außerhalb des Systems verändert. Wollen Sie diese Änderung als neue Version in das System übernehmen? 'Nein' überschreibt die ursprüngliche Datei."
Dim oResult As DialogResult = MsgBox(oMessage, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question, "Datei verändert")
@ -248,7 +258,7 @@ Public Class frmDocumentResultList
' - Cancel: Abort update
Select Case oResult
Case DialogResult.Cancel
MsgBox("Abbruch!")
' MsgBox("Abbruch!")
Case Else
Dim oCreateNewFileVersion = IIf(oResult = DialogResult.Yes, True, False)
@ -482,30 +492,30 @@ Public Class frmDocumentResultList
End Try
End Sub
Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell
Try
If e.RowHandle < 0 Then
Exit Sub
End If
'Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell
' Try
' If e.RowHandle < 0 Then
' Exit Sub
' End If
e.DefaultDraw()
' e.DefaultDraw()
Dim oView As GridView = TryCast(sender, GridView)
Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo)
Dim oRow As DataRow = oView.GetDataRow(e.RowHandle)
Dim oValue = oRow.Item(COLUMN_FILENAME)
' Dim oView As GridView = TryCast(sender, GridView)
' Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo)
' Dim oRow As DataRow = oView.GetDataRow(e.RowHandle)
' Dim oValue = oRow.Item(COLUMN_FILENAME)
If e.Column.FieldName = COLUMN_ICON Then
Dim oIcon = Helpers.GetIconByExtension(oValue)
Dim offsetX = 0
Dim offsetY = 0
' If e.Column.FieldName = COLUMN_ICON Then
' Dim oIcon = Helpers.GetIconByExtension(oValue)
' Dim offsetX = 0
' Dim offsetY = 0
e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18)
End If
Catch ex As Exception
Logger.Error(ex)
End Try
End Sub
' e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18)
' End If
' Catch ex As Exception
' Logger.Error(ex)
' End Try
'End Sub
Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick
Dim oActiveGrid = GetActiveGridControl()
@ -862,6 +872,10 @@ Public Class frmDocumentResultList
End Try
End Sub
Private Sub RibbonControl_Click(sender As Object, e As EventArgs) Handles RibbonControl.Click
End Sub

View File

@ -66,11 +66,7 @@ Public Class frmAdmin_ClipboardWatcher
Private Sub frmAdmin_CWProfile_Load(sender As Object, e As EventArgs) Handles Me.Load
InitializeBaseForm(My.LogConfig)
'TODO: Diese Codezeile lädt Daten in die Tabelle "DSDD_Stammdaten.TBDD_CONNECTION". Sie können sie bei Bedarf verschieben oder entfernen.
Try
TBCW_PROFILESTableAdapter.Connection.ConnectionString = My.DatabaseECM.CurrentSQLConnectionString
TBCW_PROFILESTableAdapter.Fill(DBCW_Stammdaten.TBCW_PROFILES, PrimaryKey)

File diff suppressed because it is too large Load Diff

View File

@ -2,22 +2,23 @@
<xs:schema id="DBCW_Stammdaten" targetNamespace="http://tempuri.org/DBCW_Stammdaten.xsd" xmlns:mstns="http://tempuri.org/DBCW_Stammdaten.xsd" xmlns="http://tempuri.org/DBCW_Stammdaten.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:annotation>
<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">
<DataSource DefaultConnectionIndex="1" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections>
<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" />
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="ECMConnectionStringDEFAULT" IsAppSettingsProperty="true" Modifier="Assembly" Name="ECMConnectionStringDEFAULT (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.DigitalData.GUIs.ZooFlow.Settings.GlobalReference.Default.ECMConnectionStringDEFAULT" Provider="System.Data.SqlClient" />
<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" />
</Connections>
<Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBCW_PROFILESTableAdapter" GeneratorDataComponentClassName="TBCW_PROFILESTableAdapter" Name="TBCW_PROFILES" UserDataComponentName="TBCW_PROFILESTableAdapter">
<MainSource>
<DbSource ConnectionRef="ECMConnectionStringDEFAULT (Settings)" DbObjectName="DD_ECM.dbo.TBCW_PROFILES" 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="DD_ECMConnectionString (Settings)" DbObjectName="DD_ECM.dbo.TBCW_PROFILES" 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 [dbo].[TBCW_PROFILES] WHERE (([GUID] = @Original_GUID) AND ([NAME] = @Original_NAME) AND ((@IsNull_COMMENT = 1 AND [COMMENT] IS NULL) OR ([COMMENT] = @Original_COMMENT)) AND ([REGEX_EXPRESSION] = @Original_REGEX_EXPRESSION) AND ([ADDED_WHO] = @Original_ADDED_WHO) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) AND ((@IsNull_CHANGED_WHO = 1 AND [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Original_CHANGED_WHO)) AND ((@IsNull_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) OR ([CHANGED_WHEN] = @Original_CHANGED_WHEN)) AND ([ACTIVE] = @Original_ACTIVE) AND ([PROFILE_TYPE] = @Original_PROFILE_TYPE))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_COMMENT" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_COMMENT" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_REGEX_EXPRESSION" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="REGEX_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ADDED_WHEN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="true" SourceVersion="Original" />
@ -37,7 +38,7 @@
SELECT GUID, NAME, COMMENT, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, ACTIVE, PROFILE_TYPE FROM TBCW_PROFILES WHERE (GUID = SCOPE_IDENTITY())</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_EXPRESSION" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="REGEX_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
@ -62,7 +63,7 @@ SELECT GUID, NAME, COMMENT, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO
SELECT GUID, NAME, COMMENT, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, ACTIVE, PROFILE_TYPE FROM TBCW_PROFILES WHERE (GUID = @GUID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_EXPRESSION" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="REGEX_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
@ -72,8 +73,8 @@ SELECT GUID, NAME, COMMENT, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@PROFILE_TYPE" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="PROFILE_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_COMMENT" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_COMMENT" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_REGEX_EXPRESSION" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="REGEX_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ADDED_WHEN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="true" SourceVersion="Original" />
@ -328,7 +329,7 @@ SELECT GUID, PROFILE_ID, CONN_ID, SQL_COMMAND, TAB_INDEX, ACTIVE, TAB_TITLE, ADD
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="COMMENT" msprop:Generator_ColumnVarNameInTable="columnCOMMENT" msprop:Generator_ColumnPropNameInRow="COMMENT" msprop:Generator_ColumnPropNameInTable="COMMENTColumn" msprop:Generator_UserColumnName="COMMENT">
<xs:element name="COMMENT" msprop:Generator_ColumnVarNameInTable="columnCOMMENT" msprop:Generator_ColumnPropNameInRow="COMMENT" msprop:Generator_ColumnPropNameInTable="COMMENTColumn" msprop:Generator_UserColumnName="COMMENT" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />

View File

@ -1972,9 +1972,9 @@
<value>1079, 17</value>
</metadata>
<metadata name="ToastNotificationsManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
<value>1228, 17</value>
</metadata>
<metadata name="BehaviorManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>222, 56</value>
<value>17, 56</value>
</metadata>
</root>

View File

@ -35,11 +35,11 @@ Public Class frmFlowForm
Private ClassWindow As Window
Private ProfileFilter As ProfileFilter
Private ProfileLoader As ClassProfileLoader
Private Animator As New Animator() With {
.PopupColor = Color.FromArgb(255, 214, 49),
.PopupOpacity = 0.8,
.PopupSize = New Size(100, 30)
}
'Private Animator As New Animator() With {
' .PopupColor = Color.FromArgb(255, 214, 49),
' .PopupOpacity = 0.8,
' .PopupSize = New Size(100, 30)
'}
' Runtime Flags
Private ApplicationLoading As Boolean = True
@ -823,7 +823,7 @@ Public Class frmFlowForm
Select Case HotKeyID
Case HOTKEY_TRIGGER_WATCHER
Animator.Highlight(Cursor.Position)
'Animator.Highlight(Cursor.Position)
If oState.CurrentClipboardContents = String.Empty Then
Logger.Info("Current Clipboard Contents is empty. Exiting.")

View File

@ -20,7 +20,7 @@ Public Class Client
' Runtime Variables
Private ReadOnly ServerAddress As String
Private ReadOnly ServerPort As Integer
Private ClientConfig As ConfigClientConfiguration
Private _ClientConfig As GlobalStateClientConfiguration
' Channel
Private ReadOnly ChannelFactory As ChannelFactory(Of IEDMIServiceChannel)
@ -32,6 +32,17 @@ Public Class Client
' Public Variables
Public CachedTables As New List(Of String)
Public ReadOnly Property ClientConfig As GlobalStateClientConfiguration
Get
If _ClientConfig Is Nothing Then
Throw New ApplicationException("ClientConfig is empty! Please connect to the service before accessing this property")
End If
Return _ClientConfig
End Get
End Property
''' <summary>
''' Parse a IPAddress:Port String into its parts
@ -127,7 +138,7 @@ Public Class Client
Dim oResponse = Channel.GetClientConfig()
If oResponse.OK Then
ClientConfig = oResponse.ClientConfig
_ClientConfig = oResponse.ClientConfig
Else
Logger.Warn("Client Configuration could not be loaded: [{0}]", oResponse.ErrorMessage)
End If
@ -141,6 +152,7 @@ Public Class Client
End Try
End Function
''' <summary>
''' Aborts the channel and creates a new connection
''' </summary>
@ -156,14 +168,6 @@ Public Class Client
End Try
End Sub
Public Function TryGetClientConfig() As ConfigClientConfiguration
If ClientConfig Is Nothing Then
Throw New ApplicationException("ClientConfig is empty! Please connect to the service before calling this function")
End If
Return ClientConfig
End Function
Private Async Function UpdateTimer_Elapsed(sender As Object, e As Timers.ElapsedEventArgs) As Task Handles UpdateTimer.Elapsed
Try
Dim oTables As String() = Await Channel.GetCachedTablesAsync()
@ -234,7 +238,7 @@ Public Class Client
End Try
End Function
Public Async Function GetFileObjectAsync(pObjectId As Long, pLoadFileContents As Boolean) As Task(Of FileObject)
Public Async Function ZooFlow_GetFileObjectAsync(pObjectId As Long, pLoadFileContents As Boolean) As Task(Of FileObject)
Try
Dim oGetFileObject As New Modules.Zooflow.GetFileObject(LogConfig, Me)
Dim oFileObject = Await oGetFileObject.RunAsync(pObjectId, pLoadFileContents)

View File

@ -6,7 +6,7 @@
<xs:complexContent mixed="false">
<xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" base="q1:BaseResponse">
<xs:sequence>
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" minOccurs="0" name="ClientConfig" nillable="true" type="q2:Config.ClientConfiguration" />
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" minOccurs="0" name="ClientConfig" nillable="true" type="q2:GlobalState.ClientConfiguration" />
</xs:sequence>
</xs:extension>
</xs:complexContent>

View File

@ -1,9 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="Config.ClientConfiguration">
<xs:complexType name="GlobalState.ClientConfiguration">
<xs:sequence>
<xs:element minOccurs="0" name="DocumentTypes" nillable="true" type="tns:ArrayOfGlobalState.Doctype" />
<xs:element minOccurs="0" name="ForceDirectDatabaseAccess" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
<xs:element name="Config.ClientConfiguration" nillable="true" type="tns:Config.ClientConfiguration" />
<xs:element name="GlobalState.ClientConfiguration" nillable="true" type="tns:GlobalState.ClientConfiguration" />
<xs:complexType name="ArrayOfGlobalState.Doctype">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="GlobalState.Doctype" nillable="true" type="tns:GlobalState.Doctype" />
</xs:sequence>
</xs:complexType>
<xs:element name="ArrayOfGlobalState.Doctype" nillable="true" type="tns:ArrayOfGlobalState.Doctype" />
<xs:complexType name="GlobalState.Doctype">
<xs:sequence>
<xs:element minOccurs="0" name="FileChangedAction" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="GlobalState.Doctype" nillable="true" type="tns:GlobalState.Doctype" />
</xs:schema>

View File

@ -145,7 +145,9 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ConfigClientConfiguration)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateClientConfiguration)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateDoctype())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateDoctype)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
@ -245,7 +247,9 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ConfigClientConfiguration)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateClientConfiguration)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateDoctype())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateDoctype)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
@ -410,7 +414,9 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ConfigClientConfiguration)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateClientConfiguration)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateDoctype())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GlobalStateDoctype)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
@ -538,10 +544,10 @@ Namespace EDMIServiceReference
Inherits EDMIServiceReference.BaseResponse
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private ClientConfigField As EDMIServiceReference.ConfigClientConfiguration
Private ClientConfigField As EDMIServiceReference.GlobalStateClientConfiguration
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property ClientConfig() As EDMIServiceReference.ConfigClientConfiguration
Public Property ClientConfig() As EDMIServiceReference.GlobalStateClientConfiguration
Get
Return Me.ClientConfigField
End Get
@ -556,15 +562,18 @@ Namespace EDMIServiceReference
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
System.Runtime.Serialization.DataContractAttribute(Name:="Config.ClientConfiguration", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService"), _
System.Runtime.Serialization.DataContractAttribute(Name:="GlobalState.ClientConfiguration", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService"), _
System.SerializableAttribute()> _
Partial Public Class ConfigClientConfiguration
Partial Public Class GlobalStateClientConfiguration
Inherits Object
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
<System.NonSerializedAttribute()> _
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private DocumentTypesField() As EDMIServiceReference.GlobalStateDoctype
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private ForceDirectDatabaseAccessField As Boolean
@ -578,6 +587,19 @@ Namespace EDMIServiceReference
End Set
End Property
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property DocumentTypes() As EDMIServiceReference.GlobalStateDoctype()
Get
Return Me.DocumentTypesField
End Get
Set
If (Object.ReferenceEquals(Me.DocumentTypesField, value) <> true) Then
Me.DocumentTypesField = value
Me.RaisePropertyChanged("DocumentTypes")
End If
End Set
End Property
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property ForceDirectDatabaseAccess() As Boolean
Get
@ -601,6 +623,69 @@ Namespace EDMIServiceReference
End Sub
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
System.Runtime.Serialization.DataContractAttribute(Name:="GlobalState.Doctype", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService"), _
System.SerializableAttribute()> _
Partial Public Class GlobalStateDoctype
Inherits Object
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
<System.NonSerializedAttribute()> _
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private FileChangedActionField As String
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private NameField As String
<Global.System.ComponentModel.BrowsableAttribute(false)> _
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
Get
Return Me.extensionDataField
End Get
Set
Me.extensionDataField = value
End Set
End Property
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property FileChangedAction() As String
Get
Return Me.FileChangedActionField
End Get
Set
If (Object.ReferenceEquals(Me.FileChangedActionField, value) <> true) Then
Me.FileChangedActionField = value
Me.RaisePropertyChanged("FileChangedAction")
End If
End Set
End Property
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property Name() As String
Get
Return Me.NameField
End Get
Set
If (Object.ReferenceEquals(Me.NameField, value) <> true) Then
Me.NameField = value
Me.RaisePropertyChanged("Name")
End If
End Set
End Property
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
If (Not (propertyChanged) Is Nothing) Then
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
End If
End Sub
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
System.Runtime.Serialization.DataContractAttribute(Name:="UnexpectedErrorFault", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Exceptio"& _

View File

@ -8,7 +8,7 @@ Imports DigitalData.Modules.Language.Utils
Public Class DatabaseWithFallback
Private ReadOnly _Logger As Logger
Private ReadOnly _Client As Client
Private ReadOnly _ClientConfig As ConfigClientConfiguration
Private ReadOnly _ClientConfig As GlobalStateClientConfiguration
Private ReadOnly _DatabaseECM As MSSQLServer
Private _DatabaseIDB As MSSQLServer
@ -54,7 +54,7 @@ Public Class DatabaseWithFallback
_DatabaseIDB = DatabaseIDB
' Load client config, will throw if client is not yet connected to service
_ClientConfig = Client.TryGetClientConfig()
_ClientConfig = Client.ClientConfig
End Sub
''' <summary>

View File

@ -1,4 +1,5 @@
Imports System.Data.SqlClient
Imports System.Runtime.Serialization
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Logging
@ -11,7 +12,9 @@ Public Class GlobalState
Public Property ObjectStores As New List(Of ObjectStore)
Public Property Connections As New List(Of DatabaseConnection)
Public Property ClientConfig As New Config.ClientConfiguration
Public Property Doctypes As New List(Of Doctype)
Public Property ClientConfig As New ClientConfiguration
Public Property TableStore As New DataSet
@ -62,18 +65,45 @@ Public Class GlobalState
Return MSSQLServer.DecryptConnectionString(oBuilder.ToString)
End Function
Public Sub LoadDoctypes()
_Logger.Info("Loading Doctypes")
Try
Dim oSQL As String = "SELECT * FROM VWIDB_DOCTYPE_HANDLING"
Dim oTable As DataTable = _MSSQL_IDB.GetDatatable(oSQL)
_Logger.Info("Found [{0}] Document Types", oTable.Rows.Count)
Dim oDocTypes As New List(Of Doctype)
For Each oRow As DataRow In oTable.Rows
Dim oDoctype As New Doctype With {
.Name = oRow.Item("DOCTYPE"),
.FileChangedAction = oRow.Item("CHANGED_HANDLING")
}
_Logger.Info("New Doctype [{0}]", oDoctype.Name)
oDocTypes.Add(oDoctype)
Next
Doctypes = oDocTypes
Catch ex As Exception
_Logger.Error(ex)
End Try
End Sub
Public Sub LoadObjectStores()
_Logger.Info("Loading Object Stores")
Try
Dim oSQL As String = "SELECT * FROM VWIDB_OBJECTSTORE"
Dim oDatatable As DataTable = _MSSQL_IDB.GetDatatable(oSQL)
Dim oTable As DataTable = _MSSQL_IDB.GetDatatable(oSQL)
ObjectStores.Clear()
_Logger.Info("Found [{0}] Object Stores", oTable.Rows.Count)
_Logger.Info("Found [{0}] Object Stores", oDatatable.Rows.Count)
Dim oObjectStores As New List(Of ObjectStore)
For Each oRow As DataRow In oDatatable.Rows
For Each oRow As DataRow In oTable.Rows
Dim oStore As New ObjectStore() With {
.Id = oRow.Item("OST_ID"),
.IsArchive = oRow.Item("OS_IS_ARCHIVE"),
@ -81,8 +111,10 @@ Public Class GlobalState
.Title = oRow.Item("OS_TITLE")
}
_Logger.Info("New Object Store [{0}]", oStore.Title)
ObjectStores.Add(oStore)
oObjectStores.Add(oStore)
Next
ObjectStores = oObjectStores
Catch ex As Exception
_Logger.Error(ex)
End Try
@ -92,13 +124,13 @@ Public Class GlobalState
_Logger.Info("Loading Database Connections")
Try
Dim oSQL As String = "SELECT * FROM TBDD_CONNECTION"
Dim oDatatable As DataTable = _MSSQL_ECM.GetDatatable(oSQL)
Dim oTable As DataTable = _MSSQL_ECM.GetDatatable(oSQL)
Connections.Clear()
_Logger.Info("Found [{0}] Connections", oTable.Rows.Count)
_Logger.Info("Found [{0}] Connections", oDatatable.Rows.Count)
Dim oConnections As New List(Of DatabaseConnection)
For Each oRow As DataRow In oDatatable.Rows
For Each oRow As DataRow In oTable.Rows
Dim oConnection As New DatabaseConnection() With {
.Id = oRow.ItemEx(Of Integer)("GUID"),
.Active = oRow.ItemEx(Of Boolean)("AKTIV"),
@ -110,21 +142,30 @@ Public Class GlobalState
.Username = oRow.ItemEx(Of String)("USERNAME")
}
_Logger.Info("New Connection [{0}]", oConnection.Title)
Connections.Add(oConnection)
oConnections.Add(oConnection)
Next
Connections = oConnections
Catch ex As Exception
_Logger.Error(ex)
End Try
End Sub
Class ObjectStore
Public Sub LoadClientConfig(pConfig As Config)
_Logger.Info("Loading Client Config")
_Logger.Debug("ForceDirectDatabaseAccess: {0}", pConfig.ClientConfig.ForceDirectDatabaseAccess)
ClientConfig.ForceDirectDatabaseAccess = pConfig.ClientConfig.ForceDirectDatabaseAccess
ClientConfig.DocumentTypes = Doctypes
End Sub
Public Class ObjectStore
Public Id As Long
Public Title As String
Public IsArchive As Boolean
Public Path As String
End Class
Class DatabaseConnection
Public Class DatabaseConnection
Public Id As Long
Public Title As String
Public Provider As String
@ -134,4 +175,19 @@ Public Class GlobalState
Public Password As String
Public Active As Boolean
End Class
Public Class ClientConfiguration
Public Property ForceDirectDatabaseAccess As Boolean = False
Public Property DocumentTypes As New List(Of Doctype)
End Class
<DataContract>
Public Class Doctype
<DataMember>
Public Property Name As String
<DataMember>
Public Property FileChangedAction As String
End Class
End Class

View File

@ -4,13 +4,14 @@ Namespace Methods.Base.GetClientConfig
<Serializable>
<DataContract>
<KnownType(GetType(GlobalState.Doctype))>
Public Class GetClientConfigResponse
Inherits Messages.BaseResponse
<DataMember>
Public Property ClientConfig As Config.ClientConfiguration
Public Property ClientConfig As GlobalState.ClientConfiguration
Public Sub New(pConfig As Config.ClientConfiguration)
Public Sub New(pConfig As GlobalState.ClientConfiguration)
MyBase.New()
ClientConfig = pConfig
End Sub

View File

@ -34,7 +34,7 @@ Public Class WindowsService
Run(New WindowsService())
End Sub
Protected Overrides Sub OnStart(ByVal args As String())
Protected Overrides Sub OnStart(args As String())
Try
' Init
Dim oServicePath As String = AppDomain.CurrentDomain.BaseDirectory
@ -65,11 +65,11 @@ Public Class WindowsService
LogConfig.Debug = ConfigManager.Config.Debug
LogConfigScheduler.Debug = ConfigManager.Config.Debug
Logger.Debug("Connecting to Databases")
Logger.Info("Connecting to Databases..")
Firebird = StartFirebird()
MSSQL_ECM = GetMSSQL_ECM(LogConfig)
MSSQL_IDB = GetMSSQL_IDB(LogConfig)
Logger.Info("Connection to Databases established!")
Logger.Debug("Initializing EDMI Functions")
Archive = New EDMI.File.Archive(LogConfig)
@ -79,18 +79,16 @@ Public Class WindowsService
Dim oMSSQLServer = GetMSSQL_ECM(LogConfigScheduler)
Scheduler = New Scheduler(LogConfigScheduler, oMSSQLServer, GlobalState.TableStore)
Logger.Debug("Loading Global Data")
Logger.Info("Loading Global Data")
GlobalState.LoadObjectStores()
GlobalState.LoadConnections()
GlobalState.LoadDoctypes()
GlobalState.LoadClientConfig(Config)
Logger.Debug("Loading Client Config")
Logger.Debug("ForceDirectDatabaseAccess: {0}", Config.ClientConfig.ForceDirectDatabaseAccess)
GlobalState.ClientConfig = Config.ClientConfig
Logger.Debug("Starting Scheduler")
Logger.Info("Starting Scheduler")
Scheduler.Start()
Logger.Debug("Preparing WCF ServiceHost")
Logger.Info("Preparing WCF ServiceHost")
EDMIService.MSSQL_ECM = MSSQL_ECM
EDMIService.MSSQL_IDB = MSSQL_IDB
EDMIService.Firebird = Firebird
@ -101,7 +99,7 @@ Public Class WindowsService
EDMIService.GlobalState = GlobalState
EDMIService.Scheduler = Scheduler
Logger.Debug("Starting WCF ServiceHost")
Logger.Info("Starting WCF ServiceHost")
Dim oBaseAddresses() As Uri = {New Uri(SERVICE_BASE_ADDRESS)}
ServiceHost = New ServiceHost(Of EDMIService)(oBaseAddresses)
@ -116,10 +114,11 @@ Public Class WindowsService
Logger.Debug("Contract: {0}", oEndpoint.Contract.Name)
Next
Logger.Debug("Starting WFC ServiceHost..")
ServiceHost.Open()
Logger.Debug("WCF ServiceHost started!")
Logger.Info("WCF ServiceHost started")
Logger.Info("Service {0} successfully started", SERVICE_DISPLAY_NAME)
Logger.Info("Service {0} successfully started!", SERVICE_DISPLAY_NAME)
Catch ex As Exception
Logger.Warn("Unexpected Error while starting the service: {0}", ex.Message)
Logger.Error(ex)