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> <Project>{3DCD6D1A-C830-4241-B7E4-27430E7EA483}</Project>
<Name>LookupControl</Name> <Name>LookupControl</Name>
</ProjectReference> </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"> <ProjectReference Include="..\Modules.Config\Config.vbproj">
<Project>{44982f9b-6116-44e2-85d0-f39650b1ef99}</Project> <Project>{44982f9b-6116-44e2-85d0-f39650b1ef99}</Project>
<Name>Config</Name> <Name>Config</Name>

View File

@ -9,6 +9,10 @@ Namespace DocumentResultList
''' </summary> ''' </summary>
Public Property Id As Long 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 Public Property AccessRight As AccessRight
''' <summary> ''' <summary>
@ -16,6 +20,7 @@ Namespace DocumentResultList
''' and showing it in the DocumentViewer. It is saved without the dot-separator. ''' and showing it in the DocumentViewer. It is saved without the dot-separator.
''' </summary> ''' </summary>
Public Property Extension As String Public Property Extension As String
''' <summary> ''' <summary>
''' Binary contents of the file. ''' Binary contents of the file.
''' </summary> ''' </summary>
@ -26,6 +31,7 @@ Namespace DocumentResultList
Public Property FullPath As String = Nothing Public Property FullPath As String = Nothing
Public Property TempPath As String = Nothing Public Property TempPath As String = Nothing
Public Property FileHash As String = Nothing Public Property FileHash As String = Nothing
Public Property DocumentType As String = Nothing
Public Sub New(pPrimaryKey As Long) Public Sub New(pPrimaryKey As Long)
Id = pPrimaryKey Id = pPrimaryKey

View File

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

View File

@ -209,7 +209,7 @@ Partial Class frmDocumentResultList
' '
resources.ApplyResources(Me.BarButtonResetLayout, "BarButtonResetLayout") resources.ApplyResources(Me.BarButtonResetLayout, "BarButtonResetLayout")
Me.BarButtonResetLayout.Id = 10 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.Name = "BarButtonResetLayout"
Me.BarButtonResetLayout.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing Me.BarButtonResetLayout.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
' '

View File

@ -255,7 +255,7 @@
<data name="BarButtonResetLayout.Caption" xml:space="preserve"> <data name="BarButtonResetLayout.Caption" xml:space="preserve">
<value>Layout zurücksetzen</value> <value>Layout zurücksetzen</value>
</data> </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> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@ -452,10 +452,10 @@
<value>1189, 132</value> <value>1189, 132</value>
</data> </data>
<data name="RibbonStatusBar.Location" type="System.Drawing.Point, System.Drawing"> <data name="RibbonStatusBar.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 649</value> <value>0, 647</value>
</data> </data>
<data name="RibbonStatusBar.Size" type="System.Drawing.Size, System.Drawing"> <data name="RibbonStatusBar.Size" type="System.Drawing.Size, System.Drawing">
<value>1189, 22</value> <value>1189, 24</value>
</data> </data>
<data name="&gt;&gt;RibbonStatusBar.Name" xml:space="preserve"> <data name="&gt;&gt;RibbonStatusBar.Name" xml:space="preserve">
<value>RibbonStatusBar</value> <value>RibbonStatusBar</value>
@ -482,7 +482,7 @@
<value>2</value> <value>2</value>
</data> </data>
<data name="GridControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="GridControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>382, 513</value> <value>382, 511</value>
</data> </data>
<data name="GridControl1.TabIndex" type="System.Int32, mscorlib"> <data name="GridControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -584,7 +584,7 @@
<value>GridBand3</value> <value>GridBand3</value>
</data> </data>
<data name="GridControl3.Size" type="System.Drawing.Size, System.Drawing"> <data name="GridControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>370, 280</value> <value>370, 278</value>
</data> </data>
<data name="GridControl3.TabIndex" type="System.Int32, mscorlib"> <data name="GridControl3.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -617,7 +617,7 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="SplitContainerControl2.Size" type="System.Drawing.Size, System.Drawing"> <data name="SplitContainerControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>370, 513</value> <value>370, 511</value>
</data> </data>
<data name="SplitContainerControl2.TabIndex" type="System.Int32, mscorlib"> <data name="SplitContainerControl2.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -653,7 +653,7 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="SplitContainerControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="SplitContainerControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>762, 513</value> <value>762, 511</value>
</data> </data>
<data name="SplitContainerControl1.TabIndex" type="System.Int32, mscorlib"> <data name="SplitContainerControl1.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@ -701,7 +701,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing"> <data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>413, 513</value> <value>413, 511</value>
</data> </data>
<data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib"> <data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -710,7 +710,7 @@
<value>DocumentViewer1</value> <value>DocumentViewer1</value>
</data> </data>
<data name="&gt;&gt;DocumentViewer1.Type" xml:space="preserve"> <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>
<data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve"> <data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve">
<value>SplitContainerControl3.Panel2</value> <value>SplitContainerControl3.Panel2</value>
@ -734,7 +734,7 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="SplitContainerControl3.Size" type="System.Drawing.Size, System.Drawing"> <data name="SplitContainerControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>1189, 517</value> <value>1189, 515</value>
</data> </data>
<data name="SplitContainerControl3.TabIndex" type="System.Int32, mscorlib"> <data name="SplitContainerControl3.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>

View File

@ -54,7 +54,7 @@ Public Class frmDocumentResultList
Private ReadOnly Params As DocumentResultList.Params Private ReadOnly Params As DocumentResultList.Params
Private WithEvents Watcher As DocumentResultList.Watcher Private WithEvents Watcher As DocumentResultList.Watcher
Private _Documentloader As DocumentResultList.Loader Private Documentloader As DocumentResultList.Loader
' Runtime variables ' Runtime variables
Private _IsLoading As Boolean = True Private _IsLoading As Boolean = True
@ -122,9 +122,10 @@ Public Class frmDocumentResultList
OperationMode = GetOperationMode() OperationMode = GetOperationMode()
If OperationMode = OperationMode.WithAppServer Or OperationMode = OperationMode.ZooFlow Then If OperationMode = OperationMode.WithAppServer Or OperationMode = OperationMode.ZooFlow Then
InitAppServer() InitAppServer()
End If End If
_Documentloader = New DocumentResultList.Loader(LogConfig, OperationMode, _IDBClient, Environment.User) Documentloader = New DocumentResultList.Loader(LogConfig, OperationMode, _IDBClient, Environment.User)
If Params.WindowTitle <> "" Then If Params.WindowTitle <> "" Then
Text = $"{Text} - {Params.WindowTitle}" Text = $"{Text} - {Params.WindowTitle}"
@ -204,7 +205,7 @@ Public Class frmDocumentResultList
DocumentViewer1.CloseDocument() DocumentViewer1.CloseDocument()
oDocumentInfo = _Documentloader.Load(oObjectId, oFullPath) oDocumentInfo = Documentloader.Load(oObjectId, oFullPath)
' Check DocumentInfo ' Check DocumentInfo
If IsNothing(oDocumentInfo) Then 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 Public Async Sub Watcher_FileChanged(sender As Object, e As DocumentResultList.Watcher.FileChangedArgs) Handles Watcher.FileChanged
Try 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 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 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") Dim oResult As DialogResult = MsgBox(oMessage, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question, "Datei verändert")
@ -248,7 +258,7 @@ Public Class frmDocumentResultList
' - Cancel: Abort update ' - Cancel: Abort update
Select Case oResult Select Case oResult
Case DialogResult.Cancel Case DialogResult.Cancel
MsgBox("Abbruch!") ' MsgBox("Abbruch!")
Case Else Case Else
Dim oCreateNewFileVersion = IIf(oResult = DialogResult.Yes, True, False) Dim oCreateNewFileVersion = IIf(oResult = DialogResult.Yes, True, False)
@ -482,30 +492,30 @@ Public Class frmDocumentResultList
End Try End Try
End Sub End Sub
Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell 'Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell
Try ' Try
If e.RowHandle < 0 Then ' If e.RowHandle < 0 Then
Exit Sub ' Exit Sub
End If ' End If
e.DefaultDraw() ' e.DefaultDraw()
Dim oView As GridView = TryCast(sender, GridView) ' Dim oView As GridView = TryCast(sender, GridView)
Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo) ' Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo)
Dim oRow As DataRow = oView.GetDataRow(e.RowHandle) ' Dim oRow As DataRow = oView.GetDataRow(e.RowHandle)
Dim oValue = oRow.Item(COLUMN_FILENAME) ' Dim oValue = oRow.Item(COLUMN_FILENAME)
If e.Column.FieldName = COLUMN_ICON Then ' If e.Column.FieldName = COLUMN_ICON Then
Dim oIcon = Helpers.GetIconByExtension(oValue) ' Dim oIcon = Helpers.GetIconByExtension(oValue)
Dim offsetX = 0 ' Dim offsetX = 0
Dim offsetY = 0 ' Dim offsetY = 0
e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18) ' e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18)
End If ' End If
Catch ex As Exception ' Catch ex As Exception
Logger.Error(ex) ' Logger.Error(ex)
End Try ' End Try
End Sub 'End Sub
Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick
Dim oActiveGrid = GetActiveGridControl() Dim oActiveGrid = GetActiveGridControl()
@ -862,6 +872,10 @@ Public Class frmDocumentResultList
End Try End Try
End Sub 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 Private Sub frmAdmin_CWProfile_Load(sender As Object, e As EventArgs) Handles Me.Load
InitializeBaseForm(My.LogConfig) 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 Try
TBCW_PROFILESTableAdapter.Connection.ConnectionString = My.DatabaseECM.CurrentSQLConnectionString TBCW_PROFILESTableAdapter.Connection.ConnectionString = My.DatabaseECM.CurrentSQLConnectionString
TBCW_PROFILESTableAdapter.Fill(DBCW_Stammdaten.TBCW_PROFILES, PrimaryKey) 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: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:annotation>
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource"> <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> <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> </Connections>
<Tables> <Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBCW_PROFILESTableAdapter" GeneratorDataComponentClassName="TBCW_PROFILESTableAdapter" Name="TBCW_PROFILES" UserDataComponentName="TBCW_PROFILESTableAdapter"> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBCW_PROFILESTableAdapter" GeneratorDataComponentClassName="TBCW_PROFILESTableAdapter" Name="TBCW_PROFILES" UserDataComponentName="TBCW_PROFILESTableAdapter">
<MainSource> <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> <DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <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> <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> <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="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="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="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="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="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="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="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" /> <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> 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> <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="@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="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="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" /> <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> 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> <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="@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="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="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" /> <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="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="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="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="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="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="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="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="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" /> <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:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="500" /> <xs:maxLength value="500" />

View File

@ -1972,9 +1972,9 @@
<value>1079, 17</value> <value>1079, 17</value>
</metadata> </metadata>
<metadata name="ToastNotificationsManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <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>
<metadata name="BehaviorManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <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> </metadata>
</root> </root>

View File

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

View File

@ -20,7 +20,7 @@ Public Class Client
' Runtime Variables ' Runtime Variables
Private ReadOnly ServerAddress As String Private ReadOnly ServerAddress As String
Private ReadOnly ServerPort As Integer Private ReadOnly ServerPort As Integer
Private ClientConfig As ConfigClientConfiguration Private _ClientConfig As GlobalStateClientConfiguration
' Channel ' Channel
Private ReadOnly ChannelFactory As ChannelFactory(Of IEDMIServiceChannel) Private ReadOnly ChannelFactory As ChannelFactory(Of IEDMIServiceChannel)
@ -32,6 +32,17 @@ Public Class Client
' Public Variables ' Public Variables
Public CachedTables As New List(Of String) 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> ''' <summary>
''' Parse a IPAddress:Port String into its parts ''' Parse a IPAddress:Port String into its parts
@ -127,7 +138,7 @@ Public Class Client
Dim oResponse = Channel.GetClientConfig() Dim oResponse = Channel.GetClientConfig()
If oResponse.OK Then If oResponse.OK Then
ClientConfig = oResponse.ClientConfig _ClientConfig = oResponse.ClientConfig
Else Else
Logger.Warn("Client Configuration could not be loaded: [{0}]", oResponse.ErrorMessage) Logger.Warn("Client Configuration could not be loaded: [{0}]", oResponse.ErrorMessage)
End If End If
@ -141,6 +152,7 @@ Public Class Client
End Try End Try
End Function End Function
''' <summary> ''' <summary>
''' Aborts the channel and creates a new connection ''' Aborts the channel and creates a new connection
''' </summary> ''' </summary>
@ -156,14 +168,6 @@ Public Class Client
End Try End Try
End Sub 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 Private Async Function UpdateTimer_Elapsed(sender As Object, e As Timers.ElapsedEventArgs) As Task Handles UpdateTimer.Elapsed
Try Try
Dim oTables As String() = Await Channel.GetCachedTablesAsync() Dim oTables As String() = Await Channel.GetCachedTablesAsync()
@ -234,7 +238,7 @@ Public Class Client
End Try End Try
End Function 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 Try
Dim oGetFileObject As New Modules.Zooflow.GetFileObject(LogConfig, Me) Dim oGetFileObject As New Modules.Zooflow.GetFileObject(LogConfig, Me)
Dim oFileObject = Await oGetFileObject.RunAsync(pObjectId, pLoadFileContents) Dim oFileObject = Await oGetFileObject.RunAsync(pObjectId, pLoadFileContents)

View File

@ -6,7 +6,7 @@
<xs:complexContent mixed="false"> <xs:complexContent mixed="false">
<xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" base="q1:BaseResponse"> <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" base="q1:BaseResponse">
<xs:sequence> <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:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>

View File

@ -1,9 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?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: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:sequence>
<xs:element minOccurs="0" name="DocumentTypes" nillable="true" type="tns:ArrayOfGlobalState.Doctype" />
<xs:element minOccurs="0" name="ForceDirectDatabaseAccess" type="xs:boolean" /> <xs:element minOccurs="0" name="ForceDirectDatabaseAccess" type="xs:boolean" />
</xs:sequence> </xs:sequence>
</xs:complexType> </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> </xs:schema>

View File

@ -145,7 +145,9 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _ 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(String())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _ 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(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _ 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(String())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _ 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(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _ 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(String())), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
@ -538,10 +544,10 @@ Namespace EDMIServiceReference
Inherits EDMIServiceReference.BaseResponse Inherits EDMIServiceReference.BaseResponse
<System.Runtime.Serialization.OptionalFieldAttribute()> _ <System.Runtime.Serialization.OptionalFieldAttribute()> _
Private ClientConfigField As EDMIServiceReference.ConfigClientConfiguration Private ClientConfigField As EDMIServiceReference.GlobalStateClientConfiguration
<System.Runtime.Serialization.DataMemberAttribute()> _ <System.Runtime.Serialization.DataMemberAttribute()> _
Public Property ClientConfig() As EDMIServiceReference.ConfigClientConfiguration Public Property ClientConfig() As EDMIServiceReference.GlobalStateClientConfiguration
Get Get
Return Me.ClientConfigField Return Me.ClientConfigField
End Get End Get
@ -556,15 +562,18 @@ Namespace EDMIServiceReference
<System.Diagnostics.DebuggerStepThroughAttribute(), _ <System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _ 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()> _ System.SerializableAttribute()> _
Partial Public Class ConfigClientConfiguration Partial Public Class GlobalStateClientConfiguration
Inherits Object Inherits Object
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
<System.NonSerializedAttribute()> _ <System.NonSerializedAttribute()> _
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private DocumentTypesField() As EDMIServiceReference.GlobalStateDoctype
<System.Runtime.Serialization.OptionalFieldAttribute()> _ <System.Runtime.Serialization.OptionalFieldAttribute()> _
Private ForceDirectDatabaseAccessField As Boolean Private ForceDirectDatabaseAccessField As Boolean
@ -578,6 +587,19 @@ Namespace EDMIServiceReference
End Set End Set
End Property 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()> _ <System.Runtime.Serialization.DataMemberAttribute()> _
Public Property ForceDirectDatabaseAccess() As Boolean Public Property ForceDirectDatabaseAccess() As Boolean
Get Get
@ -601,6 +623,69 @@ Namespace EDMIServiceReference
End Sub End Sub
End Class 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.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _ 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"& _ 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 Public Class DatabaseWithFallback
Private ReadOnly _Logger As Logger Private ReadOnly _Logger As Logger
Private ReadOnly _Client As Client Private ReadOnly _Client As Client
Private ReadOnly _ClientConfig As ConfigClientConfiguration Private ReadOnly _ClientConfig As GlobalStateClientConfiguration
Private ReadOnly _DatabaseECM As MSSQLServer Private ReadOnly _DatabaseECM As MSSQLServer
Private _DatabaseIDB As MSSQLServer Private _DatabaseIDB As MSSQLServer
@ -54,7 +54,7 @@ Public Class DatabaseWithFallback
_DatabaseIDB = DatabaseIDB _DatabaseIDB = DatabaseIDB
' Load client config, will throw if client is not yet connected to service ' Load client config, will throw if client is not yet connected to service
_ClientConfig = Client.TryGetClientConfig() _ClientConfig = Client.ClientConfig
End Sub End Sub
''' <summary> ''' <summary>

View File

@ -1,4 +1,5 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Runtime.Serialization
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Language Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
@ -11,7 +12,9 @@ Public Class GlobalState
Public Property ObjectStores As New List(Of ObjectStore) Public Property ObjectStores As New List(Of ObjectStore)
Public Property Connections As New List(Of DatabaseConnection) 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 Public Property TableStore As New DataSet
@ -62,18 +65,45 @@ Public Class GlobalState
Return MSSQLServer.DecryptConnectionString(oBuilder.ToString) Return MSSQLServer.DecryptConnectionString(oBuilder.ToString)
End Function 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() Public Sub LoadObjectStores()
_Logger.Info("Loading Object Stores") _Logger.Info("Loading Object Stores")
Try Try
Dim oSQL As String = "SELECT * FROM VWIDB_OBJECTSTORE" 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 { Dim oStore As New ObjectStore() With {
.Id = oRow.Item("OST_ID"), .Id = oRow.Item("OST_ID"),
.IsArchive = oRow.Item("OS_IS_ARCHIVE"), .IsArchive = oRow.Item("OS_IS_ARCHIVE"),
@ -81,8 +111,10 @@ Public Class GlobalState
.Title = oRow.Item("OS_TITLE") .Title = oRow.Item("OS_TITLE")
} }
_Logger.Info("New Object Store [{0}]", oStore.Title) _Logger.Info("New Object Store [{0}]", oStore.Title)
ObjectStores.Add(oStore) oObjectStores.Add(oStore)
Next Next
ObjectStores = oObjectStores
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try
@ -92,13 +124,13 @@ Public Class GlobalState
_Logger.Info("Loading Database Connections") _Logger.Info("Loading Database Connections")
Try Try
Dim oSQL As String = "SELECT * FROM TBDD_CONNECTION" 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 { Dim oConnection As New DatabaseConnection() With {
.Id = oRow.ItemEx(Of Integer)("GUID"), .Id = oRow.ItemEx(Of Integer)("GUID"),
.Active = oRow.ItemEx(Of Boolean)("AKTIV"), .Active = oRow.ItemEx(Of Boolean)("AKTIV"),
@ -110,21 +142,30 @@ Public Class GlobalState
.Username = oRow.ItemEx(Of String)("USERNAME") .Username = oRow.ItemEx(Of String)("USERNAME")
} }
_Logger.Info("New Connection [{0}]", oConnection.Title) _Logger.Info("New Connection [{0}]", oConnection.Title)
Connections.Add(oConnection) oConnections.Add(oConnection)
Next Next
Connections = oConnections
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try
End Sub 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 Id As Long
Public Title As String Public Title As String
Public IsArchive As Boolean Public IsArchive As Boolean
Public Path As String Public Path As String
End Class End Class
Class DatabaseConnection Public Class DatabaseConnection
Public Id As Long Public Id As Long
Public Title As String Public Title As String
Public Provider As String Public Provider As String
@ -134,4 +175,19 @@ Public Class GlobalState
Public Password As String Public Password As String
Public Active As Boolean Public Active As Boolean
End Class 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 End Class

View File

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

View File

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