diff --git a/Modules.EDMIAPI/Client.vb b/Modules.EDMIAPI/Client.vb
index dfc067f9..85362502 100644
--- a/Modules.EDMIAPI/Client.vb
+++ b/Modules.EDMIAPI/Client.vb
@@ -10,11 +10,12 @@ Public Class Client
Private Const INVALID_OBEJCT_ID As Long = 0
Private Const KIND_TYPE_DOC = "DOC"
- Public Const DEFAULT_SERVICE_PORT = 9000
-
Private ReadOnly _logger As Logger
Private ReadOnly _channelFactory As ChannelFactory(Of IEDMIServiceChannel)
Private ReadOnly _IPAddressServer As String
+
+
+ Private _dummy_table_attributes As DataTable
Private _channel As IEDMIServiceChannel
Public Class StreamedFile
@@ -107,8 +108,6 @@ Public Class Client
End Try
End Function
-
-
'''
''' TODO: Creates a new object
'''
@@ -140,10 +139,12 @@ Public Class Client
''' The ObjectId of the newly generated filesystem object
Public Async Function NewFileAsync(pFilePath As String, pAddedWho As String, pAddedWhen As Date, pObjectStoreType As String, pBusinessEntity As String, Optional pImportOptions As NewFileOptions = Nothing) As Task(Of Long)
Try
+ ' Set default options
If pImportOptions Is Nothing Then
pImportOptions = New NewFileOptions()
End If
+ ' Check if file exists
If File.Exists(pFilePath) = False Then
Throw New FileNotFoundException("ImportFileAsync: Path does not exist")
End If
@@ -151,6 +152,7 @@ Public Class Client
Dim oFileInfo As New FileInfo(pFilePath)
Dim oExtension As String = oFileInfo.Extension
+ ' Creating new ObjectId
Dim oObjectIdResponse = Await _channel.NewObjectIdAsync(New NewObjectIdRequest With {
.BusinessEntity = pBusinessEntity,
.KindType = KIND_TYPE_DOC,
@@ -161,6 +163,7 @@ Public Class Client
Throw New ApplicationException("ImportFileAsync: Could not get ObjectId")
End If
+ ' Create new FileObject for ObjectId
Dim oFilePathResponse = Await _channel.NewFileObjectAsync(New NewFileObjectRequest With {
.DateImported = pAddedWhen,
.Extension = oExtension,
@@ -173,6 +176,7 @@ Public Class Client
Throw New ApplicationException("ImportFileAsync: Could not get FileObject Path")
End If
+ ' Importing the file now
Using oFileStream As New FileStream(pFilePath, FileMode.Open, FileAccess.Read)
Using oMemoryStream As New MemoryStream()
oFileStream.CopyTo(oMemoryStream)
@@ -208,13 +212,15 @@ Public Class Client
'''
''' Sets a value to an attribute
'''
- '''
- '''
+ ''' IDB ObjectId
+ ''' Name of the attribute
+ ''' The type of Attribute
'''
'''
'''
Public Function SetVariableValue(pObjectId As Long, pAttributeName As String, pAttributeType As AttributeType, pValue As Object, Optional pOptions As SetVariableValueOptions = Nothing) As Boolean
Try
+ ' Set default options
If pOptions Is Nothing Then
pOptions = New SetVariableValueOptions()
End If
@@ -222,68 +228,93 @@ Public Class Client
Dim oLanguage = NotNull(pOptions.Language, GetUserLanguage())
Dim oUsername = NotNull(pOptions.Username, Environment.UserName)
+ Try
+ Dim oResponse = _channel.TestObjectIdExists(New TestObjectIdExistsRequest With {.ObjectId = pObjectId})
+ If oResponse.Exists = False Then
+ Return False
+ End If
+
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+
+ ' TODO: Check if Attribute exists
+
Dim oType = pValue.GetType.Name
If oType = GetType(DataTable).Name Then
- Dim oDTMyNewValues As DataTable = pValue
- Dim oOldAttributeResult As Object
- Dim oTypeOldResult As Object
+ Dim oValueTable As DataTable = pValue
+ Dim oCurrentValue As Object
+ Dim oCurrentValueType As String
If pOptions.CheckDeleted = True Then
- oOldAttributeResult = GetVariableValue(pAttributeName, pAttributeType)
- oTypeOldResult = oOldAttributeResult.GetType.Name
- If oTypeOldResult = GetType(DataTable).Name Then
- Dim oOldValues As DataTable = oOldAttributeResult
- If oOldValues.Rows.Count > 1 Then
+ Dim oOptions As New GetVariableValueOptions With {
+ .Language = oLanguage,
+ .Username = oUsername
+ }
+
+ ' Get current value
+ oCurrentValue = GetVariableValue(pObjectId, pAttributeName, pAttributeType, oOptions)
+
+ ' Get current type
+ oCurrentValueType = oCurrentValue.GetType.Name
+
+ ' If current value is datatable
+ If oCurrentValueType = GetType(DataTable).Name Then
+
+ ' Convert value to Datatable
+ Dim oCurrentTable As DataTable = oCurrentValue
+
+ If oCurrentTable.Rows.Count > 1 Then
'now Checking whether the old row still remains in Vector? If not it will be deleted as it cannot be replaced in multivalues
- For Each oOldValueRow As DataRow In oOldValues.Rows
+ For Each oRow As DataRow In oCurrentTable.Rows
Dim oExists As Boolean = False
- For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
- Dim oInfo = $"Checking oldValue[{oOldValueRow.Item(0)}] vs NewValue [{oNewValueRow.Item(1)}]"
- If oNewValueRow.Item(1).ToString.ToUpper = oOldValueRow.Item(0).ToString.ToUpper Then
+ For Each oNewValueRow As DataRow In oValueTable.Rows
+ Dim oInfo = $"Checking oldValue[{oRow.Item(0)}] vs NewValue [{oNewValueRow.Item(1)}]"
+ If oNewValueRow.Item(1).ToString.ToUpper = oRow.Item(0).ToString.ToUpper Then
oExists = True
Exit For
End If
Next
If oExists = False Then
- Dim oInfo = $"Value [{oOldValueRow.Item(0)}] no longer existing in Vector-Attribute [{pAttributeName}] - will be deleted!"
- _logger.Debug(oInfo)
- SetVariableValue(pObjectId, My.Application.Globix.CURRENT_PROFILE_LOG_INDEX, AttributeType.Varchar, oInfo)
- DeleteTermObjectFromMetadata(pObjectId, pAttributeName, oOldValueRow.Item(0))
+ _logger.Debug($"Value [{oRow.Item(0)}] no longer existing in Vector-Attribute [{pAttributeName}] - will be deleted!")
+ DeleteTermObjectFromMetadata(pObjectId, pAttributeName, oRow.Item(0))
End If
Next
End If
Else
- If oDTMyNewValues.Rows.Count > 1 Then
+ If oValueTable.Rows.Count > 1 Then
Dim oExists As Boolean = False
- For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
- Dim oInfo1 = $"Checking oldValue[{oOldAttributeResult}] vs NewValue [{oNewValueRow.Item(1)}]"
- If oNewValueRow.Item(1).ToString.ToUpper = oOldAttributeResult.ToString.ToUpper Then
+ For Each oNewValueRow As DataRow In oValueTable.Rows
+ _logger.Debug($"Checking oldValue[{oCurrentValue}] vs NewValue [{oNewValueRow.Item(1)}]")
+
+ If oNewValueRow.Item(1).ToString.ToUpper = oCurrentValue.ToString.ToUpper Then
oExists = True
Exit For
+
End If
+
Next
If oExists = False Then
- Dim oInfo = $"Value [{oOldAttributeResult}] no longer existing in Vector-Attribute [{pAttributeName}] - will be deleted!"
- _logger.Debug(oInfo)
- SetVariableValue(pObjectId, My.Application.Globix.CURRENT_PROFILE_LOG_INDEX, AttributeType.Varchar, oInfo)
- DeleteTermObjectFromMetadata(pObjectId, pAttributeName, oOldAttributeResult)
+ _logger.Debug($"Value [{oCurrentValue}] no longer existing in Vector-Attribute [{pAttributeName}] - will be deleted!")
+ DeleteTermObjectFromMetadata(pObjectId, pAttributeName, oCurrentValue)
End If
+
Else
- Dim oInfo = $"Value [{oOldAttributeResult}] of Attribute [{pAttributeName}] obviously was updated during runtime - will be deleted!"
- _logger.Debug(oInfo)
- SetVariableValue(pObjectId, My.Application.Globix.CURRENT_PROFILE_LOG_INDEX, AttributeType.Varchar, oInfo)
- DeleteTermObjectFromMetadata(pObjectId, pAttributeName, oOldAttributeResult)
+ _logger.Debug($"Value [{oCurrentValue}] of Attribute [{pAttributeName}] obviously was updated during runtime - will be deleted!")
+ DeleteTermObjectFromMetadata(pObjectId, pAttributeName, oCurrentValue)
+
End If
End If
End If
- For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
+ For Each oNewValueRow As DataRow In oValueTable.Rows
Dim oSuccess As Boolean = False
Dim oSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT
EXEC PRIDB_NEW_OBJ_DATA({pObjectId}, '{pAttributeName}', '{oUsername}', '{oNewValueRow.Item(1)}', '{oLanguage}', 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT)"
@@ -324,21 +355,57 @@ Public Class Client
Dim oLanguage = NotNull(pOptions.Language, GetUserLanguage())
Dim oUsername = NotNull(pOptions.Username, Environment.UserName)
+ ' Check if ObjectId exists
Try
- Dim oSingleAttribute As Boolean
+ Dim oResponse = _channel.TestObjectIdExists(New TestObjectIdExistsRequest With {.ObjectId = pObjectId})
+ If oResponse.Exists = False Then
+ Return Nothing
+ End If
+
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return Nothing
+ End Try
+
+ ' Get Attributes and Values from Database
+ Dim oTable As DataTable
+
+ Try
+ Dim oResult As TableResult = _channel.ReturnDatatable_MSSQL_IDB($"EXEC [PRIDB_GET_VALUE_DT]({pObjectId}, '{oLanguage}')")
+
+ If oResult.OK = False Then
+ Throw New ApplicationException(oResult.ErrorMessage)
+ End If
+
+ If oResult.Table Is Nothing OrElse oResult.Table.Rows.Count = 0 Then
+ Return Nothing
+ End If
+
+ oTable = oResult.Table
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return Nothing
+ End Try
+
+ ' TODO: Check if Attribute exists & REfactor
+
+
+
+ Try
+ Dim oVectorAttribute As Boolean = False
Select Case pAttributeType
Case AttributeType.VectorInteger
- oSingleAttribute = False
+ oVectorAttribute = True
Case AttributeType.VectorString
- oSingleAttribute = False
+ oVectorAttribute = True
Case Else
- oSingleAttribute = True
+ oVectorAttribute = False
End Select
Dim oAttributeValue As Object = Nothing
- If Not IsNothing(My.Tables.DTIDB_DOC_DATA) Then
- If oSingleAttribute = True And My.Tables.DTIDB_DOC_DATA.Rows.Count = 1 And pOptions.FromIDB = False Then
+ If Not IsNothing(_dummy_table_attributes) Then
+ If oVectorAttribute = True And _dummy_table_attributes.Rows.Count = 1 And pOptions.FromIDB = False Then
Try
If pAttributeName = "IDBCreatedWhen" Then
pAttributeName = "ADDED_WHEN"
@@ -350,7 +417,7 @@ Public Class Client
pAttributeName = "CHANGED_WHO"
End If
- oAttributeValue = My.Tables.DTIDB_DOC_DATA.Rows(0).Item(pAttributeName)
+ oAttributeValue = _dummy_table_attributes.Rows(0).Item(pAttributeName)
Catch ex As Exception
_logger.Debug($"Error getting Attribute from IDB_DT_DOC_DATA: {ex.Message}")
End Try
@@ -367,17 +434,18 @@ Public Class Client
Dim oDatatable As TableResult = _channel.ReturnDatatable_MSSQL_IDB(oFNSQL)
If oDatatable.OK = False Then
- _logger.Warn(oDatatable.ErrorMessage)
- Return Nothing
+ Throw New ApplicationException(oDatatable.ErrorMessage)
End If
If oDatatable.Table.Rows.Count = 1 Then
oAttributeValue = oDatatable.Table.Rows.Item(0).Item(0)
End If
Return oAttributeValue
+
Catch ex As Exception
_logger.Error(ex)
Return Nothing
+
End Try
End Function
@@ -397,90 +465,6 @@ Public Class Client
End Try
End Function
- 'Public Function CreateObjectId(pKindType As String, pWho As String, pBusinessEntity As String) As Long
- ' Try
- ' Dim oResponse = _channel.NewObjectId(New NewObjectIdRequest With {
- ' .KindType = pKindType,
- ' .BusinessEntity = pBusinessEntity,
- ' .Who = pWho
- ' })
- ' Return oResponse.ObjectId
- ' Catch ex As Exception
- ' _logger.Error(ex)
- ' Throw ex
- ' End Try
- 'End Function
-
- 'Public Function CreateFileStoreObject(pObjectId As Long, pStoreType As String, pDate As String, pExtension As String, pKeepExtension As String) As String
- ' Try
- ' ' Remove dot in Extension
- ' If pExtension.StartsWith(".") Then
- ' pExtension = pExtension.Substring(1)
- ' End If
-
- ' Dim oArgs As New NewFileObjectRequest With {
- ' .ObjectId = pObjectId,
- ' .StoreType = pStoreType,
- ' .DateImported = pDate,
- ' .Extension = pExtension,
- ' .KeepExtension = pKeepExtension
- ' }
- ' Dim oResponse = _channel.NewFileObject(oArgs)
- ' Return oResponse.FileObjectPath
- ' Catch ex As Exception
- ' _logger.Error(ex)
- ' Throw ex
- ' End Try
- 'End Function
-
- 'Public Async Function ImportFileObjectAsync(pContent As Byte(), pWho As String, pObjectId As Long, pObjectStoreType As String, pFileObjectPath As String) As Task(Of Boolean)
- ' Try
- ' Dim oData As New ImportFileIntoFileObjectRequest() With {
- ' .Contents = pContent,
- ' .Who = pWho,
- ' .FilePath = pFileObjectPath,
- ' .ObjectId = pObjectId,
- ' .ObjectStoreType = pObjectStoreType
- ' }
-
- ' Dim oResponse = Await _channel.ImportFileIntoFileObjectAsync(oData)
- ' Return oResponse.Result
- ' Catch ex As Exception
- ' _logger.Error(ex)
- ' Return False
- ' End Try
- 'End Function
-
- 'Public Async Function GetFileByObjectIdAsync(ObjectId As Long) As Task(Of StreamedFile)
- ' Try
- ' Dim oData As New DocumentStreamRequest() With {.ObjectId = ObjectId}
- ' Dim oResponse As DocumentStreamResponse = Await _channel.GetFileByObjectIdAsync(oData)
- ' Dim oMemoryStream As New MemoryStream()
- ' oResponse.FileContents.CopyTo(oMemoryStream)
- ' oMemoryStream.Position = 0
-
- ' Return New StreamedFile() With {
- ' .Stream = oMemoryStream,
- ' .FileName = oResponse.FileName
- ' }
- ' Catch ex As Exception
- ' _logger.Error(ex)
- ' Throw ex
- ' End Try
- 'End Function
-
- 'Public Async Function ListFilesForUserAsync() As Task(Of FileList)
- ' Try
- ' Dim oResponse As DocumentListResponse = Await _channel.ListFilesForUserAsync(New ListFilesForUserRequest())
- ' Return New FileList() With {
- ' .Datatable = oResponse.Datatable
- ' }
- ' Catch ex As Exception
- ' _logger.Error(ex)
- ' Throw ex
- ' End Try
- 'End Function
-
Public Function GetDatatableFromIDB(SQL As String) As TableResult
Try
Dim oResponse = _channel.ReturnDatatable_MSSQL_IDB(SQL)
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Modules.EDMI.API.EDMIServiceReference.TestObjectIdExistsResponse.datasource b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Modules.EDMI.API.EDMIServiceReference.TestObjectIdExistsResponse.datasource
new file mode 100644
index 00000000..d646db66
--- /dev/null
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Modules.EDMI.API.EDMIServiceReference.TestObjectIdExistsResponse.datasource
@@ -0,0 +1,10 @@
+
+
+
+ DigitalData.Modules.EDMI.API.EDMIServiceReference.TestObjectIdExistsResponse, Connected Services.EDMIServiceReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
\ No newline at end of file
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.wsdl b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.wsdl
index c6b2a311..ed64d5c1 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.wsdl
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.wsdl
@@ -178,6 +178,15 @@
+
+
+
+
+
+
+
+
+
@@ -270,5 +279,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd
index d913a0c6..0d6d3c7c 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd
@@ -278,4 +278,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb
index 0cd31dc0..71f60112 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb
@@ -475,6 +475,16 @@ Namespace EDMIServiceReference
_
Function ImportFileIntoFileObjectAsync(ByVal request As EDMIServiceReference.ImportFileIntoFileObjectRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.ImportFileIntoFileObjectResponse)
+
+ _
+ Function TestObjectIdExists(ByVal request As EDMIServiceReference.TestObjectIdExistsRequest) As EDMIServiceReference.TestObjectIdExistsResponse
+
+ 'CODEGEN: Der Nachrichtenvertrag wird generiert, da der Vorgang mehrere Rückgabewerte aufweist.
+ _
+ Function TestObjectIdExistsAsync(ByVal request As EDMIServiceReference.TestObjectIdExistsRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.TestObjectIdExistsResponse)
End Interface
_
Public Contents() As Byte
-
-
+
+ _
Public FilePath As String
-
-
+
+ _
Public ObjectId As Long
-
-
+
+ _
Public ObjectStoreType As String
-
-
+
+ _
Public Who As String
-
+
Public Sub New()
MyBase.New
End Sub
-
+
Public Sub New(ByVal Contents() As Byte, ByVal FilePath As String, ByVal ObjectId As Long, ByVal ObjectStoreType As String, ByVal Who As String)
MyBase.New
Me.Contents = Contents
@@ -781,150 +791,194 @@ Namespace EDMIServiceReference
Me.Who = Who
End Sub
End Class
-
-
+
+ _
Partial Public Class ImportFileIntoFileObjectResponse
-
-
+
+ _
Public Result As Boolean
-
+
Public Sub New()
MyBase.New
End Sub
-
+
Public Sub New(ByVal Result As Boolean)
MyBase.New
Me.Result = Result
End Sub
End Class
-
-
- Public Interface IEDMIServiceChannel
- Inherits EDMIServiceReference.IEDMIService, System.ServiceModel.IClientChannel
- End Interface
-
-
- Partial Public Class EDMIServiceClient
- Inherits System.ServiceModel.ClientBase(Of EDMIServiceReference.IEDMIService)
- Implements EDMIServiceReference.IEDMIService
-
+
+ _
+ Partial Public Class TestObjectIdExistsRequest
+
+ _
+ Public ObjectId As Long
+
Public Sub New()
MyBase.New
End Sub
-
+
+ Public Sub New(ByVal ObjectId As Long)
+ MyBase.New
+ Me.ObjectId = ObjectId
+ End Sub
+ End Class
+
+ _
+ Partial Public Class TestObjectIdExistsResponse
+
+ _
+ Public Deleted As Boolean
+
+ _
+ Public Exists As Boolean
+
+ _
+ Public Inactive As Boolean
+
+ Public Sub New()
+ MyBase.New
+ End Sub
+
+ Public Sub New(ByVal Deleted As Boolean, ByVal Exists As Boolean, ByVal Inactive As Boolean)
+ MyBase.New
+ Me.Deleted = Deleted
+ Me.Exists = Exists
+ Me.Inactive = Inactive
+ End Sub
+ End Class
+
+ _
+ Public Interface IEDMIServiceChannel
+ Inherits EDMIServiceReference.IEDMIService, System.ServiceModel.IClientChannel
+ End Interface
+
+ _
+ Partial Public Class EDMIServiceClient
+ Inherits System.ServiceModel.ClientBase(Of EDMIServiceReference.IEDMIService)
+ Implements EDMIServiceReference.IEDMIService
+
+ Public Sub New()
+ MyBase.New
+ End Sub
+
Public Sub New(ByVal endpointConfigurationName As String)
MyBase.New(endpointConfigurationName)
End Sub
-
+
Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
MyBase.New(endpointConfigurationName, remoteAddress)
End Sub
-
+
Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
MyBase.New(endpointConfigurationName, remoteAddress)
End Sub
-
+
Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
MyBase.New(binding, remoteAddress)
End Sub
-
+
Public Function Heartbeat() As Boolean Implements EDMIServiceReference.IEDMIService.Heartbeat
Return MyBase.Channel.Heartbeat
End Function
-
+
Public Function HeartbeatAsync() As System.Threading.Tasks.Task(Of Boolean) Implements EDMIServiceReference.IEDMIService.HeartbeatAsync
Return MyBase.Channel.HeartbeatAsync
End Function
-
+
Public Function ReturnDatatableFromCache(ByVal Name As String, ByVal FilterExpression As String, ByVal SortByColumn As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatableFromCache
Return MyBase.Channel.ReturnDatatableFromCache(Name, FilterExpression, SortByColumn)
End Function
-
+
Public Function ReturnDatatableFromCacheAsync(ByVal Name As String, ByVal FilterExpression As String, ByVal SortByColumn As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult) Implements EDMIServiceReference.IEDMIService.ReturnDatatableFromCacheAsync
Return MyBase.Channel.ReturnDatatableFromCacheAsync(Name, FilterExpression, SortByColumn)
End Function
-
+
Public Function ReturnDatatable_Firebird(ByVal SQL As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatable_Firebird
Return MyBase.Channel.ReturnDatatable_Firebird(SQL)
End Function
-
+
Public Function ReturnDatatable_FirebirdAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult) Implements EDMIServiceReference.IEDMIService.ReturnDatatable_FirebirdAsync
Return MyBase.Channel.ReturnDatatable_FirebirdAsync(SQL)
End Function
-
+
Public Function ReturnScalar_Firebird(ByVal SQL As String) As EDMIServiceReference.ScalarResult Implements EDMIServiceReference.IEDMIService.ReturnScalar_Firebird
Return MyBase.Channel.ReturnScalar_Firebird(SQL)
End Function
-
+
Public Function ReturnScalar_FirebirdAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ScalarResult) Implements EDMIServiceReference.IEDMIService.ReturnScalar_FirebirdAsync
Return MyBase.Channel.ReturnScalar_FirebirdAsync(SQL)
End Function
-
+
Public Function ExecuteNonQuery_Firebird(ByVal SQL As String) As EDMIServiceReference.NonQueryResult Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery_Firebird
Return MyBase.Channel.ExecuteNonQuery_Firebird(SQL)
End Function
-
+
Public Function ExecuteNonQuery_FirebirdAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NonQueryResult) Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery_FirebirdAsync
Return MyBase.Channel.ExecuteNonQuery_FirebirdAsync(SQL)
End Function
-
+
Public Function ReturnDatatable_MSSQL_IDB(ByVal SQL As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatable_MSSQL_IDB
Return MyBase.Channel.ReturnDatatable_MSSQL_IDB(SQL)
End Function
-
+
Public Function ReturnDatatable_MSSQL_IDBAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult) Implements EDMIServiceReference.IEDMIService.ReturnDatatable_MSSQL_IDBAsync
Return MyBase.Channel.ReturnDatatable_MSSQL_IDBAsync(SQL)
End Function
-
+
Public Function ReturnScalar_MSSQL_IDB(ByVal SQL As String) As EDMIServiceReference.ScalarResult Implements EDMIServiceReference.IEDMIService.ReturnScalar_MSSQL_IDB
Return MyBase.Channel.ReturnScalar_MSSQL_IDB(SQL)
End Function
-
+
Public Function ReturnScalar_MSSQL_IDBAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ScalarResult) Implements EDMIServiceReference.IEDMIService.ReturnScalar_MSSQL_IDBAsync
Return MyBase.Channel.ReturnScalar_MSSQL_IDBAsync(SQL)
End Function
-
+
Public Function ExecuteNonQuery_MSSQL_IDB(ByVal SQL As String) As EDMIServiceReference.NonQueryResult Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery_MSSQL_IDB
Return MyBase.Channel.ExecuteNonQuery_MSSQL_IDB(SQL)
End Function
-
+
Public Function ExecuteNonQuery_MSSQL_IDBAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NonQueryResult) Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery_MSSQL_IDBAsync
Return MyBase.Channel.ExecuteNonQuery_MSSQL_IDBAsync(SQL)
End Function
-
+
Public Function ReturnDatatable_MSSQL_ECM(ByVal SQL As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatable_MSSQL_ECM
Return MyBase.Channel.ReturnDatatable_MSSQL_ECM(SQL)
End Function
-
+
Public Function ReturnDatatable_MSSQL_ECMAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult) Implements EDMIServiceReference.IEDMIService.ReturnDatatable_MSSQL_ECMAsync
Return MyBase.Channel.ReturnDatatable_MSSQL_ECMAsync(SQL)
End Function
-
+
Public Function ReturnScalar_MSSQL_ECM(ByVal SQL As String) As EDMIServiceReference.ScalarResult Implements EDMIServiceReference.IEDMIService.ReturnScalar_MSSQL_ECM
Return MyBase.Channel.ReturnScalar_MSSQL_ECM(SQL)
End Function
-
+
Public Function ReturnScalar_MSSQL_ECMAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ScalarResult) Implements EDMIServiceReference.IEDMIService.ReturnScalar_MSSQL_ECMAsync
Return MyBase.Channel.ReturnScalar_MSSQL_ECMAsync(SQL)
End Function
-
+
Public Function ExecuteNonQuery_MSSQL_ECM(ByVal SQL As String) As EDMIServiceReference.NonQueryResult Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery_MSSQL_ECM
Return MyBase.Channel.ExecuteNonQuery_MSSQL_ECM(SQL)
End Function
-
+
Public Function ExecuteNonQuery_MSSQL_ECMAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NonQueryResult) Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery_MSSQL_ECMAsync
Return MyBase.Channel.ExecuteNonQuery_MSSQL_ECMAsync(SQL)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_ImportFile(ByVal request As EDMIServiceReference.DocumentImportRequest) As EDMIServiceReference.DocumentImportResponse Implements EDMIServiceReference.IEDMIService.ImportFile
Return MyBase.Channel.ImportFile(request)
End Function
-
+
Public Function ImportFile(ByVal Contents() As Byte, ByVal DocumentType As String, ByVal FileName As String, ByVal ObjectStoreId As Long, ByVal RetentionDays As Long) As Long
Dim inValue As EDMIServiceReference.DocumentImportRequest = New EDMIServiceReference.DocumentImportRequest()
inValue.Contents = Contents
@@ -932,15 +986,15 @@ Namespace EDMIServiceReference
inValue.FileName = FileName
inValue.ObjectStoreId = ObjectStoreId
inValue.RetentionDays = RetentionDays
- Dim retVal As EDMIServiceReference.DocumentImportResponse = CType(Me, EDMIServiceReference.IEDMIService).ImportFile(inValue)
+ Dim retVal As EDMIServiceReference.DocumentImportResponse = CType(Me,EDMIServiceReference.IEDMIService).ImportFile(inValue)
Return retVal.ObjectId
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_ImportFileAsync(ByVal request As EDMIServiceReference.DocumentImportRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentImportResponse) Implements EDMIServiceReference.IEDMIService.ImportFileAsync
Return MyBase.Channel.ImportFileAsync(request)
End Function
-
+
Public Function ImportFileAsync(ByVal Contents() As Byte, ByVal DocumentType As String, ByVal FileName As String, ByVal ObjectStoreId As Long, ByVal RetentionDays As Long) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentImportResponse)
Dim inValue As EDMIServiceReference.DocumentImportRequest = New EDMIServiceReference.DocumentImportRequest()
inValue.Contents = Contents
@@ -948,104 +1002,104 @@ Namespace EDMIServiceReference
inValue.FileName = FileName
inValue.ObjectStoreId = ObjectStoreId
inValue.RetentionDays = RetentionDays
- Return CType(Me, EDMIServiceReference.IEDMIService).ImportFileAsync(inValue)
+ Return CType(Me,EDMIServiceReference.IEDMIService).ImportFileAsync(inValue)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_GetFileByObjectId(ByVal request As EDMIServiceReference.DocumentStreamRequest) As EDMIServiceReference.DocumentStreamResponse Implements EDMIServiceReference.IEDMIService.GetFileByObjectId
Return MyBase.Channel.GetFileByObjectId(request)
End Function
-
+
Public Function GetFileByObjectId(ByVal ObjectId As Long, ByRef FileContents As System.IO.Stream) As String
Dim inValue As EDMIServiceReference.DocumentStreamRequest = New EDMIServiceReference.DocumentStreamRequest()
inValue.ObjectId = ObjectId
- Dim retVal As EDMIServiceReference.DocumentStreamResponse = CType(Me, EDMIServiceReference.IEDMIService).GetFileByObjectId(inValue)
+ Dim retVal As EDMIServiceReference.DocumentStreamResponse = CType(Me,EDMIServiceReference.IEDMIService).GetFileByObjectId(inValue)
FileContents = retVal.FileContents
Return retVal.FileName
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_GetFileByObjectIdAsync(ByVal request As EDMIServiceReference.DocumentStreamRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentStreamResponse) Implements EDMIServiceReference.IEDMIService.GetFileByObjectIdAsync
Return MyBase.Channel.GetFileByObjectIdAsync(request)
End Function
-
+
Public Function GetFileByObjectIdAsync(ByVal ObjectId As Long) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentStreamResponse)
Dim inValue As EDMIServiceReference.DocumentStreamRequest = New EDMIServiceReference.DocumentStreamRequest()
inValue.ObjectId = ObjectId
- Return CType(Me, EDMIServiceReference.IEDMIService).GetFileByObjectIdAsync(inValue)
+ Return CType(Me,EDMIServiceReference.IEDMIService).GetFileByObjectIdAsync(inValue)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_GetFileInfoByObjectId(ByVal request As EDMIServiceReference.DocumentInfoRequest) As EDMIServiceReference.DocumentInfoResponse Implements EDMIServiceReference.IEDMIService.GetFileInfoByObjectId
Return MyBase.Channel.GetFileInfoByObjectId(request)
End Function
-
+
Public Function GetFileInfoByObjectId(ByVal ObjectId As Long, ByVal UserId As Long, ByRef FullPath As String) As EDMIServiceReference.RightsAccessRight
Dim inValue As EDMIServiceReference.DocumentInfoRequest = New EDMIServiceReference.DocumentInfoRequest()
inValue.ObjectId = ObjectId
inValue.UserId = UserId
- Dim retVal As EDMIServiceReference.DocumentInfoResponse = CType(Me, EDMIServiceReference.IEDMIService).GetFileInfoByObjectId(inValue)
+ Dim retVal As EDMIServiceReference.DocumentInfoResponse = CType(Me,EDMIServiceReference.IEDMIService).GetFileInfoByObjectId(inValue)
FullPath = retVal.FullPath
Return retVal.FileRight
End Function
-
+
Public Function GetFileInfoByObjectIdAsync(ByVal request As EDMIServiceReference.DocumentInfoRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentInfoResponse) Implements EDMIServiceReference.IEDMIService.GetFileInfoByObjectIdAsync
Return MyBase.Channel.GetFileInfoByObjectIdAsync(request)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_ListFilesForUser(ByVal request As EDMIServiceReference.ListFilesForUserRequest) As EDMIServiceReference.DocumentListResponse Implements EDMIServiceReference.IEDMIService.ListFilesForUser
Return MyBase.Channel.ListFilesForUser(request)
End Function
-
+
Public Function ListFilesForUser() As System.Data.DataTable
Dim inValue As EDMIServiceReference.ListFilesForUserRequest = New EDMIServiceReference.ListFilesForUserRequest()
- Dim retVal As EDMIServiceReference.DocumentListResponse = CType(Me, EDMIServiceReference.IEDMIService).ListFilesForUser(inValue)
+ Dim retVal As EDMIServiceReference.DocumentListResponse = CType(Me,EDMIServiceReference.IEDMIService).ListFilesForUser(inValue)
Return retVal.Datatable
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_ListFilesForUserAsync(ByVal request As EDMIServiceReference.ListFilesForUserRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentListResponse) Implements EDMIServiceReference.IEDMIService.ListFilesForUserAsync
Return MyBase.Channel.ListFilesForUserAsync(request)
End Function
-
+
Public Function ListFilesForUserAsync() As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentListResponse)
Dim inValue As EDMIServiceReference.ListFilesForUserRequest = New EDMIServiceReference.ListFilesForUserRequest()
- Return CType(Me, EDMIServiceReference.IEDMIService).ListFilesForUserAsync(inValue)
+ Return CType(Me,EDMIServiceReference.IEDMIService).ListFilesForUserAsync(inValue)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_NewObjectId(ByVal request As EDMIServiceReference.NewObjectIdRequest) As EDMIServiceReference.NewObjectIdResponse Implements EDMIServiceReference.IEDMIService.NewObjectId
Return MyBase.Channel.NewObjectId(request)
End Function
-
+
Public Function NewObjectId(ByVal BusinessEntity As String, ByVal KindType As String, ByVal Who As String) As Long
Dim inValue As EDMIServiceReference.NewObjectIdRequest = New EDMIServiceReference.NewObjectIdRequest()
inValue.BusinessEntity = BusinessEntity
inValue.KindType = KindType
inValue.Who = Who
- Dim retVal As EDMIServiceReference.NewObjectIdResponse = CType(Me, EDMIServiceReference.IEDMIService).NewObjectId(inValue)
+ Dim retVal As EDMIServiceReference.NewObjectIdResponse = CType(Me,EDMIServiceReference.IEDMIService).NewObjectId(inValue)
Return retVal.ObjectId
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_NewObjectIdAsync(ByVal request As EDMIServiceReference.NewObjectIdRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.NewObjectIdResponse) Implements EDMIServiceReference.IEDMIService.NewObjectIdAsync
Return MyBase.Channel.NewObjectIdAsync(request)
End Function
-
+
Public Function NewObjectIdAsync(ByVal BusinessEntity As String, ByVal KindType As String, ByVal Who As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NewObjectIdResponse)
Dim inValue As EDMIServiceReference.NewObjectIdRequest = New EDMIServiceReference.NewObjectIdRequest()
inValue.BusinessEntity = BusinessEntity
inValue.KindType = KindType
inValue.Who = Who
- Return CType(Me, EDMIServiceReference.IEDMIService).NewObjectIdAsync(inValue)
+ Return CType(Me,EDMIServiceReference.IEDMIService).NewObjectIdAsync(inValue)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_NewFileObject(ByVal request As EDMIServiceReference.NewFileObjectRequest) As EDMIServiceReference.NewFileObjectResponse Implements EDMIServiceReference.IEDMIService.NewFileObject
Return MyBase.Channel.NewFileObject(request)
End Function
-
+
Public Function NewFileObject(ByVal DateImported As Date, ByVal Extension As String, ByVal KeepExtension As Boolean, ByVal ObjectId As Long, ByVal StoreType As String) As String
Dim inValue As EDMIServiceReference.NewFileObjectRequest = New EDMIServiceReference.NewFileObjectRequest()
inValue.DateImported = DateImported
@@ -1053,15 +1107,15 @@ Namespace EDMIServiceReference
inValue.KeepExtension = KeepExtension
inValue.ObjectId = ObjectId
inValue.StoreType = StoreType
- Dim retVal As EDMIServiceReference.NewFileObjectResponse = CType(Me, EDMIServiceReference.IEDMIService).NewFileObject(inValue)
+ Dim retVal As EDMIServiceReference.NewFileObjectResponse = CType(Me,EDMIServiceReference.IEDMIService).NewFileObject(inValue)
Return retVal.FileObjectPath
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_NewFileObjectAsync(ByVal request As EDMIServiceReference.NewFileObjectRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.NewFileObjectResponse) Implements EDMIServiceReference.IEDMIService.NewFileObjectAsync
Return MyBase.Channel.NewFileObjectAsync(request)
End Function
-
+
Public Function NewFileObjectAsync(ByVal DateImported As Date, ByVal Extension As String, ByVal KeepExtension As Boolean, ByVal ObjectId As Long, ByVal StoreType As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NewFileObjectResponse)
Dim inValue As EDMIServiceReference.NewFileObjectRequest = New EDMIServiceReference.NewFileObjectRequest()
inValue.DateImported = DateImported
@@ -1069,14 +1123,14 @@ Namespace EDMIServiceReference
inValue.KeepExtension = KeepExtension
inValue.ObjectId = ObjectId
inValue.StoreType = StoreType
- Return CType(Me, EDMIServiceReference.IEDMIService).NewFileObjectAsync(inValue)
+ Return CType(Me,EDMIServiceReference.IEDMIService).NewFileObjectAsync(inValue)
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_ImportFileIntoFileObject(ByVal request As EDMIServiceReference.ImportFileIntoFileObjectRequest) As EDMIServiceReference.ImportFileIntoFileObjectResponse Implements EDMIServiceReference.IEDMIService.ImportFileIntoFileObject
Return MyBase.Channel.ImportFileIntoFileObject(request)
End Function
-
+
Public Function ImportFileIntoFileObject(ByVal Contents() As Byte, ByVal FilePath As String, ByVal ObjectId As Long, ByVal ObjectStoreType As String, ByVal Who As String) As Boolean
Dim inValue As EDMIServiceReference.ImportFileIntoFileObjectRequest = New EDMIServiceReference.ImportFileIntoFileObjectRequest()
inValue.Contents = Contents
@@ -1084,15 +1138,15 @@ Namespace EDMIServiceReference
inValue.ObjectId = ObjectId
inValue.ObjectStoreType = ObjectStoreType
inValue.Who = Who
- Dim retVal As EDMIServiceReference.ImportFileIntoFileObjectResponse = CType(Me, EDMIServiceReference.IEDMIService).ImportFileIntoFileObject(inValue)
+ Dim retVal As EDMIServiceReference.ImportFileIntoFileObjectResponse = CType(Me,EDMIServiceReference.IEDMIService).ImportFileIntoFileObject(inValue)
Return retVal.Result
End Function
-
-
+
+ _
Function EDMIServiceReference_IEDMIService_ImportFileIntoFileObjectAsync(ByVal request As EDMIServiceReference.ImportFileIntoFileObjectRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.ImportFileIntoFileObjectResponse) Implements EDMIServiceReference.IEDMIService.ImportFileIntoFileObjectAsync
Return MyBase.Channel.ImportFileIntoFileObjectAsync(request)
End Function
-
+
Public Function ImportFileIntoFileObjectAsync(ByVal Contents() As Byte, ByVal FilePath As String, ByVal ObjectId As Long, ByVal ObjectStoreType As String, ByVal Who As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ImportFileIntoFileObjectResponse)
Dim inValue As EDMIServiceReference.ImportFileIntoFileObjectRequest = New EDMIServiceReference.ImportFileIntoFileObjectRequest()
inValue.Contents = Contents
@@ -1102,5 +1156,23 @@ Namespace EDMIServiceReference
inValue.Who = Who
Return CType(Me,EDMIServiceReference.IEDMIService).ImportFileIntoFileObjectAsync(inValue)
End Function
+
+ _
+ Function EDMIServiceReference_IEDMIService_TestObjectIdExists(ByVal request As EDMIServiceReference.TestObjectIdExistsRequest) As EDMIServiceReference.TestObjectIdExistsResponse Implements EDMIServiceReference.IEDMIService.TestObjectIdExists
+ Return MyBase.Channel.TestObjectIdExists(request)
+ End Function
+
+ Public Function TestObjectIdExists(ByVal ObjectId As Long, ByRef Exists As Boolean, ByRef Inactive As Boolean) As Boolean
+ Dim inValue As EDMIServiceReference.TestObjectIdExistsRequest = New EDMIServiceReference.TestObjectIdExistsRequest()
+ inValue.ObjectId = ObjectId
+ Dim retVal As EDMIServiceReference.TestObjectIdExistsResponse = CType(Me,EDMIServiceReference.IEDMIService).TestObjectIdExists(inValue)
+ Exists = retVal.Exists
+ Inactive = retVal.Inactive
+ Return retVal.Deleted
+ End Function
+
+ Public Function TestObjectIdExistsAsync(ByVal request As EDMIServiceReference.TestObjectIdExistsRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.TestObjectIdExistsResponse) Implements EDMIServiceReference.IEDMIService.TestObjectIdExistsAsync
+ Return MyBase.Channel.TestObjectIdExistsAsync(request)
+ End Function
End Class
End Namespace
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl
index c6ee60d8..84c376ce 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl
@@ -261,6 +261,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Modules.EDMIAPI/Constants.vb b/Modules.EDMIAPI/Constants.vb
index 3ed6326d..753e0bad 100644
--- a/Modules.EDMIAPI/Constants.vb
+++ b/Modules.EDMIAPI/Constants.vb
@@ -1,4 +1,6 @@
Public Class Constants
+ Public Const DEFAULT_SERVICE_PORT = 9000
+
Public Enum DatabaseType
ECM
IDB
diff --git a/Modules.EDMIAPI/EDMI.API.vbproj b/Modules.EDMIAPI/EDMI.API.vbproj
index 6c5717a4..f32d7915 100644
--- a/Modules.EDMIAPI/EDMI.API.vbproj
+++ b/Modules.EDMIAPI/EDMI.API.vbproj
@@ -142,6 +142,9 @@
Reference.svcmap
+
+ Reference.svcmap
+
Designer
diff --git a/Service.EDMIService/EDMIService.vb b/Service.EDMIService/EDMIService.vb
index 6d3c27a7..5d8a99d3 100644
--- a/Service.EDMIService/EDMIService.vb
+++ b/Service.EDMIService/EDMIService.vb
@@ -469,6 +469,32 @@ Public Class EDMIService
End Try
End Function
+ Public Function TestObjectIdExists(Data As TestObjectIdExistsRequest) As TestObjectIdExistsResponse Implements IEDMIService.TestObjectIdExists
+ Try
+ Dim oSQL As String = $"SELECT IDB_OBJ_ID, ACTIVE, DELETED FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = {Data.ObjectId}"
+ Dim oTable As DataTable = MSSQL_IDB.GetDatatable(oSQL)
+
+ If IsNothing(oTable) OrElse oTable.Rows.Count = 0 Then
+ _Logger.Warn("ObjectId {0} does not exist")
+ Return New TestObjectIdExistsResponse(False)
+ End If
+
+ Dim oRow As DataRow = oTable.Rows.Item(0)
+ Dim oActive = Utils.NotNull(oRow.Item("ACTIVE"), False)
+ Dim oDeleted = Utils.NotNull(oRow.Item("DELETED"), False)
+
+ Return New TestObjectIdExistsResponse(True) With {
+ .Deleted = oDeleted,
+ .Inactive = Not oActive
+ }
+
+ Catch ex As Exception
+ _Logger.Error(ex)
+ Return New TestObjectIdExistsResponse(False)
+
+ End Try
+ End Function
+
Public Function NewFileObject(Data As NewFileObjectRequest) As NewFileObjectResponse Implements IEDMIService.NewFileObject
Try
Dim oStoreType As String = Data.StoreType
diff --git a/Service.EDMIService/Helpers/Messages.vb b/Service.EDMIService/Helpers/Messages.vb
index 0387607f..9d85f186 100644
--- a/Service.EDMIService/Helpers/Messages.vb
+++ b/Service.EDMIService/Helpers/Messages.vb
@@ -131,6 +131,28 @@ Namespace Messages
End Class
#End Region
+#Region "Helpers"
+
+ Public Class TestObjectIdExistsRequest
+
+ Public ObjectId As Long
+ End Class
+
+
+ Public Class TestObjectIdExistsResponse
+ Public Sub New(pExists As Boolean)
+ Exists = pExists
+ End Sub
+
+
+ Public Exists As Boolean = False
+
+ Public Inactive As Boolean = False
+
+ Public Deleted As Boolean = False
+ End Class
+#End Region
+
End Namespace
diff --git a/Service.EDMIService/IEDMIService.vb b/Service.EDMIService/IEDMIService.vb
index 0bb9a80e..606fed9a 100644
--- a/Service.EDMIService/IEDMIService.vb
+++ b/Service.EDMIService/IEDMIService.vb
@@ -92,4 +92,10 @@ Interface IEDMIService
Function ImportFileIntoFileObject(Data As ImportFileIntoFileObjectRequest) As ImportFileIntoFileObjectResponse
#End Region
+#Region "Helpers"
+
+
+ Function TestObjectIdExists(Data As TestObjectIdExistsRequest) As TestObjectIdExistsResponse
+#End Region
+
End Interface
\ No newline at end of file
diff --git a/Service.EDMIService/WindowsService.vb b/Service.EDMIService/WindowsService.vb
index 06bb68e3..a9cb0e65 100644
--- a/Service.EDMIService/WindowsService.vb
+++ b/Service.EDMIService/WindowsService.vb
@@ -38,7 +38,7 @@ Public Class WindowsService
Try
Dim oServicePath As String = AppDomain.CurrentDomain.BaseDirectory
- _LogConfig = New LogConfig(LogConfig.PathType.CustomPath, IO.Path.Combine(oServicePath, "Log"))
+ _LogConfig = New LogConfig(LogConfig.PathType.CustomPath, IO.Path.Combine(oServicePath, "Log"), Nothing, Nothing, Nothing, 3)
_Logger = _LogConfig.GetLogger()
Try