EDMI: Include Doctypes in ClientConfig
This commit is contained in:
parent
d8b1b7e2b7
commit
67852d4572
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
2
GUIs.Common/frmDocumentResultList.Designer.vb
generated
2
GUIs.Common/frmDocumentResultList.Designer.vb
generated
@ -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
|
||||
'
|
||||
|
||||
@ -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=">>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=">>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=">>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>
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
2499
GUIs.ZooFlow/DBCW_Stammdaten.Designer.vb
generated
2499
GUIs.ZooFlow/DBCW_Stammdaten.Designer.vb
generated
File diff suppressed because it is too large
Load Diff
@ -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" />
|
||||
|
||||
@ -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>
|
||||
@ -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.")
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
@ -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"& _
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user