diff --git a/Modules.EDMIAPI/Client.vb b/Modules.EDMIAPI/Client.vb
index 811203cb..9b7b7855 100644
--- a/Modules.EDMIAPI/Client.vb
+++ b/Modules.EDMIAPI/Client.vb
@@ -272,17 +272,16 @@ Public Class Client
End Try
End Function
- Public Async Function Globix_ImportFileAsync(
+ Public Async Function ImportFileAsync(
pFilePath As String,
- pProfileId As Integer,
pAttributeValues As List(Of UserAttributeValue),
pObjectStoreName As String,
pObjectKind As String,
pIDBDoctypeId As String,
Optional pImportOptions As Options.ImportFileOptions = Nothing) As Task(Of ImportFileResponse)
Try
- Dim oImportFile As New Modules.Globix.ImportFile(LogConfig, Channel)
- Return Await oImportFile.RunAsync(pFilePath, pProfileId, pAttributeValues, pObjectStoreName, pObjectKind, pIDBDoctypeId, pImportOptions)
+ Dim oImportFile As New Modules.IDB.ImportFile(LogConfig, Channel)
+ Return Await oImportFile.RunAsync(pFilePath, pAttributeValues, pObjectStoreName, pObjectKind, pIDBDoctypeId, pImportOptions)
Catch ex As Exception
Logger.Error(ex)
@@ -290,16 +289,19 @@ Public Class Client
End Try
End Function
- Public Async Function FileImporter_ImportFileAsync(
+
+
+ Public Async Function Globix_ImportFileAsync(
pFilePath As String,
+ pProfileId As Integer,
pAttributeValues As List(Of UserAttributeValue),
pObjectStoreName As String,
pObjectKind As String,
pIDBDoctypeId As String,
- Optional pImportOptions As Options.ImportFileOptions = Nothing) As Task(Of ImportFileResponse)
+ Optional pImportOptions As Options.ImportFileOptions = Nothing) As Task(Of Globix_ImportFileResponse)
Try
Dim oImportFile As New Modules.Globix.ImportFile(LogConfig, Channel)
- Return Await oImportFile.RunAsync(pFilePath, 9999, pAttributeValues, pObjectStoreName, pObjectKind, pIDBDoctypeId, pImportOptions)
+ Return Await oImportFile.RunAsync(pFilePath, pProfileId, pAttributeValues, pObjectStoreName, pObjectKind, pIDBDoctypeId, pImportOptions)
Catch ex As Exception
Logger.Error(ex)
@@ -319,6 +321,7 @@ Public Class Client
End Try
End Function
+
Public Async Function ZooFlow_GetFileObjectAsync(pObjectId As Long, pLoadFileContents As Boolean) As Task(Of FileObject)
Try
Dim oGetFileObject As New Modules.Zooflow.GetFileObject(LogConfig, Me)
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Modules.EDMI.API.EDMIServiceReference.Globix_ImportFileResponse.datasource b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Modules.EDMI.API.EDMIServiceReference.Globix_ImportFileResponse.datasource
new file mode 100644
index 00000000..6a352c0d
--- /dev/null
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Modules.EDMI.API.EDMIServiceReference.Globix_ImportFileResponse.datasource
@@ -0,0 +1,10 @@
+
+
+
+ DigitalData.Modules.EDMI.API.EDMIServiceReference.Globix_ImportFileResponse, 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.Methods.GlobalIndexer.ImportFile.xsd b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd
index 4c37d8f8..1ca263ef 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd
@@ -3,7 +3,7 @@
-
+
@@ -14,8 +14,8 @@
-
-
+
+
@@ -24,5 +24,5 @@
-
+
\ No newline at end of file
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.Methods.IDB.ImportFile.xsd b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.Methods.IDB.ImportFile.xsd
new file mode 100644
index 00000000..69dc834c
--- /dev/null
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.Methods.IDB.ImportFile.xsd
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 04335481..b2a391ba 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.wsdl
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.wsdl
@@ -22,9 +22,10 @@
-
+
+
@@ -182,12 +183,6 @@
-
-
-
-
-
-
@@ -200,6 +195,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -332,10 +339,6 @@
-
-
-
-
@@ -344,6 +347,14 @@
+
+
+
+
+
+
+
+
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd
index d6450046..4ac19ce4 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/DigitalData.Services.EDMIService.xsd
@@ -10,9 +10,10 @@
-
+
+
@@ -291,45 +292,59 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -343,7 +358,7 @@
-
+
@@ -359,7 +374,7 @@
-
+
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.svcmap b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.svcmap
index c9f8aca4..bc5505c0 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.svcmap
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.svcmap
@@ -44,9 +44,10 @@
-
+
+
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb
index ca2bcac0..92d8bf53 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/Reference.vb
@@ -31,9 +31,10 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UpdateFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetAttributeValueResponse)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetClientConfigResponse))> _
Partial Public Class BaseResponse
Inherits Object
@@ -176,14 +177,16 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetAttributeValueRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetAttributeValueResponse)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileRequest)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileObject)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileAction)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileRequest)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileRequest)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.RightsAccessRight))> _
Partial Public Class ScalarResult
Inherits EDMIServiceReference.BaseResponse
@@ -280,14 +283,16 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetAttributeValueRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetAttributeValueResponse)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileRequest)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileObject)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileAction)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileRequest)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileRequest)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.RightsAccessRight))> _
Partial Public Class GetScalarValueResponse
Inherits EDMIServiceReference.BaseResponse
@@ -450,14 +455,16 @@ Namespace EDMIServiceReference
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetAttributeValueRequest)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileRequest)), _
- System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileObject)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileRequest)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileAction)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.CheckInOutFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileRequest)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileRequest)), _
+ System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.Globix_ImportFileResponse)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.RightsAccessRight))> _
Partial Public Class GetAttributeValueResponse
Inherits EDMIServiceReference.BaseResponse
@@ -495,31 +502,6 @@ Namespace EDMIServiceReference
End Property
End Class
- _
- Partial Public Class ImportFileResponse
- Inherits EDMIServiceReference.BaseResponse
-
- _
- Private ObjectIdField As Long
-
- _
- Public Property ObjectId() As Long
- Get
- Return Me.ObjectIdField
- End Get
- Set
- If (Me.ObjectIdField.Equals(value) <> true) Then
- Me.ObjectIdField = value
- Me.RaisePropertyChanged("ObjectId")
- End If
- End Set
- End Property
- End Class
-
_
+ Partial Public Class ImportFileResponse
+ Inherits EDMIServiceReference.BaseResponse
+
+ _
+ Private ObjectIdField As Long
+
+ _
+ Public Property ObjectId() As Long
+ Get
+ Return Me.ObjectIdField
+ End Get
+ Set
+ If (Me.ObjectIdField.Equals(value) <> true) Then
+ Me.ObjectIdField = value
+ Me.RaisePropertyChanged("ObjectId")
+ End If
+ End Set
+ End Property
+ End Class
+
+ _
+ Partial Public Class Globix_ImportFileResponse
+ Inherits EDMIServiceReference.BaseResponse
+
+ _
+ Private ObjectIdField As Long
+
+ _
+ Public Property ObjectId() As Long
+ Get
+ Return Me.ObjectIdField
+ End Get
+ Set
+ If (Me.ObjectIdField.Equals(value) <> true) Then
+ Me.ObjectIdField = value
+ Me.RaisePropertyChanged("ObjectId")
+ End If
+ End Set
+ End Property
+ End Class
+
_
- Partial Public Class ImportFileRequest
- Inherits Object
- Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-
- _
- Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
-
- _
- Private AttributeValuesField() As EDMIServiceReference.UserAttributeValue
-
- _
- Private FileField As EDMIServiceReference.FileProperties
-
- _
- Private IDBDoctypeIdField As String
-
- _
- Private KindTypeField As String
-
- _
- Private ProfileIdField As Integer
-
- _
- Private StoreNameField As String
-
- _
- Private UserField As EDMIServiceReference.UserState
-
- _
- 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
-
- _
- Public Property AttributeValues() As EDMIServiceReference.UserAttributeValue()
- Get
- Return Me.AttributeValuesField
- End Get
- Set
- If (Object.ReferenceEquals(Me.AttributeValuesField, value) <> true) Then
- Me.AttributeValuesField = value
- Me.RaisePropertyChanged("AttributeValues")
- End If
- End Set
- End Property
-
- _
- Public Property File() As EDMIServiceReference.FileProperties
- Get
- Return Me.FileField
- End Get
- Set
- If (Object.ReferenceEquals(Me.FileField, value) <> true) Then
- Me.FileField = value
- Me.RaisePropertyChanged("File")
- End If
- End Set
- End Property
-
- _
- Public Property IDBDoctypeId() As String
- Get
- Return Me.IDBDoctypeIdField
- End Get
- Set
- If (Object.ReferenceEquals(Me.IDBDoctypeIdField, value) <> true) Then
- Me.IDBDoctypeIdField = value
- Me.RaisePropertyChanged("IDBDoctypeId")
- End If
- End Set
- End Property
-
- _
- Public Property KindType() As String
- Get
- Return Me.KindTypeField
- End Get
- Set
- If (Object.ReferenceEquals(Me.KindTypeField, value) <> true) Then
- Me.KindTypeField = value
- Me.RaisePropertyChanged("KindType")
- End If
- End Set
- End Property
-
- _
- Public Property ProfileId() As Integer
- Get
- Return Me.ProfileIdField
- End Get
- Set
- If (Me.ProfileIdField.Equals(value) <> true) Then
- Me.ProfileIdField = value
- Me.RaisePropertyChanged("ProfileId")
- End If
- End Set
- End Property
-
- _
- Public Property StoreName() As String
- Get
- Return Me.StoreNameField
- End Get
- Set
- If (Object.ReferenceEquals(Me.StoreNameField, value) <> true) Then
- Me.StoreNameField = value
- Me.RaisePropertyChanged("StoreName")
- End If
- End Set
- End Property
-
- _
- Public Property User() As EDMIServiceReference.UserState
- Get
- Return Me.UserField
- End Get
- Set
- If (Object.ReferenceEquals(Me.UserField, value) <> true) Then
- Me.UserField = value
- Me.RaisePropertyChanged("User")
- 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
-
_
Private ActionField As EDMIServiceReference.CheckInOutFileAction
-
-
+
+ _
Private CommentField As String
-
-
+
+ _
Private ObjectIdField As Long
-
-
+
+ _
Private UserField As EDMIServiceReference.UserState
-
-
+
+ _
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
Get
Return Me.extensionDataField
End Get
Set
- Me.extensionDataField = Value
+ Me.extensionDataField = value
End Set
End Property
-
-
+
+ _
Public Property Action() As EDMIServiceReference.CheckInOutFileAction
Get
Return Me.ActionField
End Get
Set
- If (Me.ActionField.Equals(Value) <> True) Then
- Me.ActionField = Value
+ If (Me.ActionField.Equals(value) <> true) Then
+ Me.ActionField = value
Me.RaisePropertyChanged("Action")
End If
End Set
End Property
-
-
+
+ _
Public Property Comment() As String
Get
Return Me.CommentField
End Get
Set
- If (Object.ReferenceEquals(Me.CommentField, Value) <> True) Then
- Me.CommentField = Value
+ If (Object.ReferenceEquals(Me.CommentField, value) <> true) Then
+ Me.CommentField = value
Me.RaisePropertyChanged("Comment")
End If
End Set
@@ -2465,6 +2353,294 @@ Namespace EDMIServiceReference
CheckOut = 1
End Enum
+ _
+ Partial Public Class ImportFileRequest
+ Inherits Object
+ Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+
+ _
+ Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
+
+ _
+ Private AttributeValuesField() As EDMIServiceReference.UserAttributeValue
+
+ _
+ Private FileField As EDMIServiceReference.FileProperties
+
+ _
+ Private IDBDoctypeIdField As String
+
+ _
+ Private KindTypeField As String
+
+ _
+ Private ProfileIdField As Integer
+
+ _
+ Private StoreNameField As String
+
+ _
+ Private UserField As EDMIServiceReference.UserState
+
+ _
+ 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
+
+ _
+ Public Property AttributeValues() As EDMIServiceReference.UserAttributeValue()
+ Get
+ Return Me.AttributeValuesField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.AttributeValuesField, value) <> true) Then
+ Me.AttributeValuesField = value
+ Me.RaisePropertyChanged("AttributeValues")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property File() As EDMIServiceReference.FileProperties
+ Get
+ Return Me.FileField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.FileField, value) <> true) Then
+ Me.FileField = value
+ Me.RaisePropertyChanged("File")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property IDBDoctypeId() As String
+ Get
+ Return Me.IDBDoctypeIdField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.IDBDoctypeIdField, value) <> true) Then
+ Me.IDBDoctypeIdField = value
+ Me.RaisePropertyChanged("IDBDoctypeId")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property KindType() As String
+ Get
+ Return Me.KindTypeField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.KindTypeField, value) <> true) Then
+ Me.KindTypeField = value
+ Me.RaisePropertyChanged("KindType")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property ProfileId() As Integer
+ Get
+ Return Me.ProfileIdField
+ End Get
+ Set
+ If (Me.ProfileIdField.Equals(value) <> true) Then
+ Me.ProfileIdField = value
+ Me.RaisePropertyChanged("ProfileId")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property StoreName() As String
+ Get
+ Return Me.StoreNameField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.StoreNameField, value) <> true) Then
+ Me.StoreNameField = value
+ Me.RaisePropertyChanged("StoreName")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property User() As EDMIServiceReference.UserState
+ Get
+ Return Me.UserField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.UserField, value) <> true) Then
+ Me.UserField = value
+ Me.RaisePropertyChanged("User")
+ 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
+
+ _
+ Partial Public Class Globix_ImportFileRequest
+ Inherits Object
+ Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+
+ _
+ Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
+
+ _
+ Private AttributeValuesField() As EDMIServiceReference.UserAttributeValue
+
+ _
+ Private FileField As EDMIServiceReference.FileProperties
+
+ _
+ Private IDBDoctypeIdField As String
+
+ _
+ Private KindTypeField As String
+
+ _
+ Private ProfileIdField As Integer
+
+ _
+ Private StoreNameField As String
+
+ _
+ Private UserField As EDMIServiceReference.UserState
+
+ _
+ 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
+
+ _
+ Public Property AttributeValues() As EDMIServiceReference.UserAttributeValue()
+ Get
+ Return Me.AttributeValuesField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.AttributeValuesField, value) <> true) Then
+ Me.AttributeValuesField = value
+ Me.RaisePropertyChanged("AttributeValues")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property File() As EDMIServiceReference.FileProperties
+ Get
+ Return Me.FileField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.FileField, value) <> true) Then
+ Me.FileField = value
+ Me.RaisePropertyChanged("File")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property IDBDoctypeId() As String
+ Get
+ Return Me.IDBDoctypeIdField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.IDBDoctypeIdField, value) <> true) Then
+ Me.IDBDoctypeIdField = value
+ Me.RaisePropertyChanged("IDBDoctypeId")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property KindType() As String
+ Get
+ Return Me.KindTypeField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.KindTypeField, value) <> true) Then
+ Me.KindTypeField = value
+ Me.RaisePropertyChanged("KindType")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property ProfileId() As Integer
+ Get
+ Return Me.ProfileIdField
+ End Get
+ Set
+ If (Me.ProfileIdField.Equals(value) <> true) Then
+ Me.ProfileIdField = value
+ Me.RaisePropertyChanged("ProfileId")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property StoreName() As String
+ Get
+ Return Me.StoreNameField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.StoreNameField, value) <> true) Then
+ Me.StoreNameField = value
+ Me.RaisePropertyChanged("StoreName")
+ End If
+ End Set
+ End Property
+
+ _
+ Public Property User() As EDMIServiceReference.UserState
+ Get
+ Return Me.UserField
+ End Get
+ Set
+ If (Object.ReferenceEquals(Me.UserField, value) <> true) Then
+ Me.UserField = value
+ Me.RaisePropertyChanged("User")
+ 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
+
_
Public Enum RightsAccessRight As Integer
@@ -2656,12 +2832,6 @@ Namespace EDMIServiceReference
_
Function GetAttributeValueAsync(ByVal Data As EDMIServiceReference.GetAttributeValueRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.GetAttributeValueResponse)
- _
- Function ImportFile(ByVal Data As EDMIServiceReference.ImportFileRequest) As EDMIServiceReference.ImportFileResponse
-
- _
- Function ImportFileAsync(ByVal Data As EDMIServiceReference.ImportFileRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.ImportFileResponse)
-
_
Function GetFileObject(ByVal Data As EDMIServiceReference.GetFileObjectRequest) As EDMIServiceReference.GetFileObjectResponse
@@ -2674,6 +2844,18 @@ Namespace EDMIServiceReference
_
Function CheckInOutFileAsync(ByVal Data As EDMIServiceReference.CheckInOutFileRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.CheckInOutFileResponse)
+ _
+ Function ImportFile(ByVal Data As EDMIServiceReference.ImportFileRequest) As EDMIServiceReference.ImportFileResponse
+
+ _
+ Function ImportFileAsync(ByVal Data As EDMIServiceReference.ImportFileRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.ImportFileResponse)
+
+ _
+ Function Globix_ImportFile(ByVal Data As EDMIServiceReference.Globix_ImportFileRequest) As EDMIServiceReference.Globix_ImportFileResponse
+
+ _
+ Function Globix_ImportFileAsync(ByVal Data As EDMIServiceReference.Globix_ImportFileRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.Globix_ImportFileResponse)
+
'CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (DocumentStreamRequest) von Nachricht "DocumentStreamRequest" nicht mit dem Standardwert (GetFileByObjectId) übereinstimmt.
_
Function EDMIServiceReference_IEDMIService_GetFileByObjectId(ByVal request As EDMIServiceReference.DocumentStreamRequest) As EDMIServiceReference.DocumentStreamResponse Implements EDMIServiceReference.IEDMIService.GetFileByObjectId
Return MyBase.Channel.GetFileByObjectId(request)
diff --git a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl
index d81cb177..a8ce2f52 100644
--- a/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl
+++ b/Modules.EDMIAPI/Connected Services/EDMIServiceReference/service.wsdl
@@ -254,15 +254,6 @@
-
-
-
-
-
-
-
-
-
@@ -281,6 +272,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Modules.EDMIAPI/EDMI.API.vbproj b/Modules.EDMIAPI/EDMI.API.vbproj
index 00829f3f..45eebcc2 100644
--- a/Modules.EDMIAPI/EDMI.API.vbproj
+++ b/Modules.EDMIAPI/EDMI.API.vbproj
@@ -81,6 +81,7 @@
+
@@ -153,6 +154,9 @@
Reference.svcmap
+
+ Reference.svcmap
+
Reference.svcmap
@@ -219,6 +223,9 @@
Designer
+
+ Designer
+
Designer
diff --git a/Modules.EDMIAPI/Modules/Globix/ImportFile.vb b/Modules.EDMIAPI/Modules/Globix/ImportFile.vb
index 74fe6529..1af79d5c 100644
--- a/Modules.EDMIAPI/Modules/Globix/ImportFile.vb
+++ b/Modules.EDMIAPI/Modules/Globix/ImportFile.vb
@@ -5,11 +5,9 @@ Imports DigitalData.Modules.Logging
Namespace Modules.Globix
Public Class ImportFile
Inherits BaseMethod
- Private ReadOnly FileEx As Filesystem.File
Public Sub New(pLogConfig As LogConfig, pChannel As IEDMIServiceChannel)
MyBase.New(pLogConfig, pChannel)
- FileEx = New Filesystem.File(pLogConfig)
End Sub
Public Async Function RunAsync(pFilePath As String,
@@ -18,7 +16,7 @@ Namespace Modules.Globix
pObjectStoreName As String,
pObjectKind As String,
pIDBDoctypeId As Long,
- pImportOptions As Options.ImportFileOptions) As Task(Of ImportFileResponse)
+ pImportOptions As Options.ImportFileOptions) As Task(Of Globix_ImportFileResponse)
Try
' Set default options
If pImportOptions Is Nothing Then
@@ -44,7 +42,7 @@ Namespace Modules.Globix
oFileStream.CopyTo(oMemoryStream)
Dim oContents = oMemoryStream.ToArray()
- Dim oFileImportResponse = Await Channel.ImportFileAsync(New ImportFileRequest With {
+ Dim oFileImportResponse = Await Channel.Globix_ImportFileAsync(New Globix_ImportFileRequest With {
.IDBDoctypeId = pIDBDoctypeId,
.File = New FileProperties With {
.FileName = oFileInfo.Name,
diff --git a/Modules.EDMIAPI/Modules/IDB/ImportFile.vb b/Modules.EDMIAPI/Modules/IDB/ImportFile.vb
new file mode 100644
index 00000000..60921fe0
--- /dev/null
+++ b/Modules.EDMIAPI/Modules/IDB/ImportFile.vb
@@ -0,0 +1,75 @@
+Imports System.IO
+Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
+Imports DigitalData.Modules.Logging
+
+Namespace Modules.IDB
+ Public Class ImportFile
+ Inherits BaseMethod
+
+ Public Sub New(pLogConfig As LogConfig, pChannel As IEDMIServiceChannel)
+ MyBase.New(pLogConfig, pChannel)
+ End Sub
+
+ Public Async Function RunAsync(pFilePath As String,
+ pAttributeValues As List(Of UserAttributeValue),
+ pObjectStoreName As String,
+ pObjectKind As String,
+ pIDBDoctypeId As Long,
+ pImportOptions As Options.ImportFileOptions) As Task(Of ImportFileResponse)
+ Try
+ ' Set default options
+ If pImportOptions Is Nothing Then
+ pImportOptions = New Options.ImportFileOptions()
+ End If
+
+ ' Check if file exists
+ If File.Exists(pFilePath) = False Then
+ Throw New FileNotFoundException("Path does not exist")
+ End If
+
+ Dim oFileInfo As New FileInfo(pFilePath)
+ Dim oExtension As String = oFileInfo.Extension
+
+ Dim oFileName As String = oFileInfo.Name
+ Dim oFileCreatedAt As Date = oFileInfo?.CreationTime
+ Dim oFileModifiedAt As Date = oFileInfo?.LastWriteTime
+ Dim oFileHash As String = FileEx.GetChecksum(oFileInfo.FullName)
+
+ ' Importing the file now
+ Using oFileStream As New FileStream(pFilePath, FileMode.Open, FileAccess.Read)
+ Using oMemoryStream As New MemoryStream()
+ oFileStream.CopyTo(oMemoryStream)
+ Dim oContents = oMemoryStream.ToArray()
+
+ Dim oFileImportResponse = Await Channel.ImportFileAsync(New ImportFileRequest With {
+ .IDBDoctypeId = pIDBDoctypeId,
+ .File = New FileProperties With {
+ .FileName = oFileInfo.Name,
+ .FileCreatedAt = oFileCreatedAt,
+ .FileChangedAt = oFileModifiedAt,
+ .FileContents = oContents,
+ .FileImportedAt = pImportOptions.DateImported,
+ .FileChecksum = oFileHash,
+ .FileInfoRaw = oFileInfo
+ },
+ .KindType = pObjectKind,
+ .StoreName = pObjectStoreName,
+ .User = New UserState() With {
+ .UserName = pImportOptions.Username,
+ .Language = pImportOptions.Language
+ },
+ .ProfileId = -1,
+ .AttributeValues = pAttributeValues.ToArray
+ })
+
+ Return oFileImportResponse
+ End Using
+ End Using
+ Catch ex As Exception
+ Logger.Error(ex)
+ Return Nothing
+ End Try
+ End Function
+ End Class
+End Namespace
+
diff --git a/Service.EDMIService/EDMIService.vb b/Service.EDMIService/EDMIService.vb
index 73383f18..9087d99f 100644
--- a/Service.EDMIService/EDMIService.vb
+++ b/Service.EDMIService/EDMIService.vb
@@ -97,12 +97,6 @@ Public Class EDMIService
Return oGetAttributeValue.Run(Data)
End Function
- Public Function ImportFile(pData As GlobalIndexer.ImportFile.ImportFileRequest) As GlobalIndexer.ImportFile.ImportFileResponse Implements IEDMIService.ImportFile
- _Logger.Debug("Start of Method [ImportFile]")
- Dim oImportFile As New GlobalIndexer.ImportFile.ImportFileMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
- Return oImportFile.Run(pData)
- End Function
-
Public Function GetFileObject(pData As GetFileObject.GetFileObjectRequest) As GetFileObject.GetFileObjectResponse Implements IEDMIService.GetFileObject
_Logger.Debug("Start of Method [GetFileObject]")
Dim oGetFileObject As New GetFileObject.GetFileObjectMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
@@ -115,6 +109,18 @@ Public Class EDMIService
Return oCheckInOutFile.Run(pData)
End Function
+ Public Function ImportFile(pData As ImportFile.ImportFileRequest) As ImportFile.ImportFileResponse Implements IEDMIService.ImportFile
+ _Logger.Debug("Start of Method [ImportFile]")
+ Dim oImportFile As New ImportFile.ImportFileMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
+ Return oImportFile.Run(pData)
+ End Function
+
+ Public Function Globix_ImportFile(pData As GlobalIndexer.ImportFile.Globix_ImportFileRequest) As GlobalIndexer.ImportFile.Globix_ImportFileResponse Implements IEDMIService.Globix_ImportFile
+ _Logger.Debug("Start of Method [Globix_ImportFile]")
+ Dim oImportFile As New GlobalIndexer.ImportFile.ImportFileMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
+ Return oImportFile.Run(pData)
+ End Function
+
#Region "=== Database ==="
Public Function GetCachedTables() As List(Of String) Implements IEDMIService.GetCachedTables
diff --git a/Service.EDMIService/EDMIService.vbproj b/Service.EDMIService/EDMIService.vbproj
index 07993a73..477ac40b 100644
--- a/Service.EDMIService/EDMIService.vbproj
+++ b/Service.EDMIService/EDMIService.vbproj
@@ -131,7 +131,6 @@
-
@@ -174,6 +173,9 @@
+
+
+
diff --git a/Service.EDMIService/IDB/Helpers.vb b/Service.EDMIService/IDB/Helpers.vb
index d6a7e3ca..d4a0fc31 100644
--- a/Service.EDMIService/IDB/Helpers.vb
+++ b/Service.EDMIService/IDB/Helpers.vb
@@ -148,56 +148,7 @@ Namespace IDB
Return oFinalPath
End Function
- Public Function GetObject(pObjectId As Long) As IDBObject
- Try
- Dim oGetObjectSQL = $"SELECT * FROM VWIDB_OBJECT WHERE IDB_OBJ_ID = {pObjectId}"
- Dim oRow As DataTable = Database.GetDatatable(oGetObjectSQL)
-
- If oRow Is Nothing Then
- Logger.Warn("Object with Id [{0}] not found.", pObjectId)
- Return Nothing
-
- End If
-
- 'TODO: Return object data
-
- Catch ex As Exception
- Logger.Error(ex)
- Return Nothing
- End Try
- End Function
-
- 'Public Function GetAttributesForObject(pObjectId As Long, pLanguage As String) As List(Of ObjectAttribute)
- ' Dim oAttributes As New List(Of ObjectAttribute)
-
- ' Try
- ' Dim oTable As DataTable = Database.GetDatatable($"EXEC [PRIDB_GET_VALUE_DT] {pObjectId}, '{pLanguage}'")
- ' If oTable Is Nothing OrElse oTable.Rows.Count = 0 Then
- ' Return Nothing
- ' End If
-
- ' For Each oRow As DataRow In oTable.Rows
- ' Dim oAttribute As New ObjectAttribute With {
- ' .Id = oRow.Item("AttributeId"),
- ' .Title = oRow.Item("AttributeTitle"),
- ' .Type = oRow.Item("AttributeType"),
- ' .ValueBigInt = Utils.NotNull(oRow.Item("ValueBigInt"), Nothing),
- ' .ValueDate = Utils.NotNull(oRow.Item("ValueDate"), Nothing),
- ' .ValueDecimal = Utils.NotNull(oRow.Item("ValueDecimal"), Nothing),
- ' .ValueText = Utils.NotNull(oRow.Item("ValueText"), Nothing)
- ' }
-
- ' oAttributes.Add(oAttribute)
- ' Next
-
- ' Return oAttributes
- ' Catch ex As Exception
- ' Logger.Error(ex)
- ' Return Nothing
- ' End Try
- 'End Function
-
- Public Function SetAttributeValue(pConnection As SqlConnection, pTransaction As SqlTransaction, pObjectId As Long, pAttributeName As String, pValue As String, pLanguage As String, pWho As String) As Boolean
+ Public Function SetAttributeValueWithTransaction(pConnection As SqlConnection, pTransaction As SqlTransaction, pObjectId As Long, pAttributeName As String, pValue As String, pLanguage As String, pWho As String) As Boolean
Logger.Info("Setting value of Attribute [{0}]", pAttributeName)
Dim oSql = $"
DECLARE @NEW_OBJ_MD_ID BIGINT
@@ -210,6 +161,31 @@ Namespace IDB
Return True
End Function
+
+ Public Sub SetAttributeValuesWithTransaction(pConnection As SqlConnection, pTransaction As SqlTransaction, pObjectId As Long, pAttributes As Dictionary(Of String, List(Of String)), pLanguage As String, pWho As String)
+ For Each oAttribute As KeyValuePair(Of String, List(Of String)) In pAttributes
+ Try
+ ' TODO: This works only for simple attributes for now!!!
+ Dim oValue = oAttribute.Value.FirstOrDefault()
+
+ ' Dont write empty attributes
+ If oValue Is Nothing Then
+ Continue For
+ End If
+
+ ' Now make the call to the database
+ Dim oSuccess = SetAttributeValueWithTransaction(pConnection, pTransaction, pObjectId, oAttribute.Key, oValue, pLanguage, pWho)
+ If oSuccess Then
+ Logger.Info("Attribute written [{0}] => [{1}]", oAttribute.Key, oAttribute.Value.First())
+ Else
+ Logger.Warn("Attribute value could not be written")
+ End If
+ Catch ex As Exception
+ LogAndThrow(ex, $"Attribute [{oAttribute.Key}] could not be written!")
+ End Try
+ Next
+ End Sub
+
Public Function NewDynamicFolderForObject(pObjectId As Long, pFolder As String, pWho As String, pLangCode As String) As Boolean
Logger.Info("Setting Dynamic Folder [{0}]", pFolder)
Dim oSql = $"
diff --git a/Service.EDMIService/IDB/IDBObject.vb b/Service.EDMIService/IDB/IDBObject.vb
deleted file mode 100644
index ba79a508..00000000
--- a/Service.EDMIService/IDB/IDBObject.vb
+++ /dev/null
@@ -1,7 +0,0 @@
-Namespace IDB
- Public Class IDBObject
- Public Property ObjectId As Long
- Public Property ObjectKind As Long
- Public Property BusinessEntity As Long
- End Class
-End Namespace
\ No newline at end of file
diff --git a/Service.EDMIService/IEDMIService.vb b/Service.EDMIService/IEDMIService.vb
index d6a50d02..c75fbec9 100644
--- a/Service.EDMIService/IEDMIService.vb
+++ b/Service.EDMIService/IEDMIService.vb
@@ -79,7 +79,7 @@ Interface IEDMIService
Function ExecuteNonQuery_MSSQL_ECM(SQL As String) As NonQueryResult
#End Region
-#Region "Document (New)"
+#Region "Document IDB"
Function NewFile(Data As NewFile.NewFileRequest) As NewFile.NewFileResponse
@@ -92,14 +92,19 @@ Interface IEDMIService
Function GetAttributeValue(Data As GetAttributeValue.GetAttributeValueRequest) As GetAttributeValue.GetAttributeValueResponse
-
- Function ImportFile(Data As GlobalIndexer.ImportFile.ImportFileRequest) As GlobalIndexer.ImportFile.ImportFileResponse
-
Function GetFileObject(Data As GetFileObject.GetFileObjectRequest) As GetFileObject.GetFileObjectResponse
Function CheckInOutFile(Data As CheckInOutFile.CheckInOutFileRequest) As CheckInOutFile.CheckInOutFileResponse
+
+
+ Function ImportFile(Data As ImportFile.ImportFileRequest) As ImportFile.ImportFileResponse
+#End Region
+
+#Region "Document Globix"
+
+ Function Globix_ImportFile(Data As GlobalIndexer.ImportFile.Globix_ImportFileRequest) As GlobalIndexer.ImportFile.Globix_ImportFileResponse
#End Region
#Region "Document (Old)"
diff --git a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb
index 47702e47..a93e4593 100644
--- a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb
+++ b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb
@@ -37,7 +37,7 @@ Namespace Methods.GlobalIndexer.ImportFile
'''
'''
'''
- Public Function Run(pData As ImportFileRequest)
+ Public Function Run(pData As Globix_ImportFileRequest)
Try
User = pData.User
@@ -99,14 +99,14 @@ Namespace Methods.GlobalIndexer.ImportFile
ToDictionary(Function(kv) kv.Key, Function(kv) kv.Value)
Logger.Info("Writing [{0}] Attributes for ObjectId [{0}] ", oResponse.ObjectId)
- WriteAttributeValues(oResponse.ObjectId, oFinalAttributes)
+ Helpers.SetAttributeValuesWithTransaction(Connection, Transaction, oResponse.ObjectId, oFinalAttributes, User.Language, User.UserName)
'TODO: Write to TBGI_INDEX_HISTORY?
' Finally, commit the transaction
Transaction?.Commit()
- Return New ImportFileResponse(oResponse.ObjectId)
+ Return New Globix_ImportFileResponse(oResponse.ObjectId)
Catch ex As Exception
Logger.Warn("Error occurred while importing file!")
@@ -115,7 +115,7 @@ Namespace Methods.GlobalIndexer.ImportFile
Logger.Info("Rolling back transaction.")
Transaction?.Rollback()
- Return New ImportFileResponse(ex)
+ Return New Globix_ImportFileResponse(ex)
End Try
End Function
@@ -154,30 +154,6 @@ Namespace Methods.GlobalIndexer.ImportFile
Return oFileName & pFileInfo.Extension
End Function
-
- Private Sub WriteAttributeValues(pObjectId As Long, pAttributes As Dictionary(Of String, List(Of String)))
- For Each oAttribute As KeyValuePair(Of String, List(Of String)) In pAttributes
- Try
- ' TODO: This works only for simple attributes for now!!!
- Dim oValue = oAttribute.Value.FirstOrDefault()
-
- ' Dont write empty attributes
- If oValue Is Nothing Then
- Continue For
- End If
-
- ' Now make the call to the database
- Dim oSuccess = Helpers.SetAttributeValue(Connection, Transaction, pObjectId, oAttribute.Key, oValue, User.Language, User.UserName)
- If oSuccess Then
- Logger.Info("Attribute written [{0}] => [{1}]", oAttribute.Key, oAttribute.Value.First())
- Else
- Logger.Warn("Attribute value could not be written")
- End If
- Catch ex As Exception
- LogAndThrow(ex, $"Attribute [{oAttribute.Key}] could not be written!")
- End Try
- Next
- End Sub
End Class
End Namespace
\ No newline at end of file
diff --git a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileRequest.vb b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileRequest.vb
index f8a7d756..47eddc81 100644
--- a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileRequest.vb
+++ b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileRequest.vb
@@ -5,7 +5,7 @@ Imports DigitalData.Services.EDMIService.Methods.IDB
Namespace Methods.GlobalIndexer.ImportFile
- Public Class ImportFileRequest
+ Public Class Globix_ImportFileRequest
'''
''' Important File properties like, Name, Contents, CreatedAt, ModifiedAt, Checksum
'''
diff --git a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileResponse.vb b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileResponse.vb
index 6f62fc57..3733961f 100644
--- a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileResponse.vb
+++ b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileResponse.vb
@@ -3,7 +3,7 @@
Namespace Methods.GlobalIndexer.ImportFile
- Public Class ImportFileResponse
+ Public Class Globix_ImportFileResponse
Inherits Messages.BaseResponse
diff --git a/Service.EDMIService/Methods/IDB/ImportFile/ImportFileMethod.vb b/Service.EDMIService/Methods/IDB/ImportFile/ImportFileMethod.vb
new file mode 100644
index 00000000..a7ad1344
--- /dev/null
+++ b/Service.EDMIService/Methods/IDB/ImportFile/ImportFileMethod.vb
@@ -0,0 +1,94 @@
+Imports System.IO
+Imports DigitalData.Modules.Database
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.Patterns
+Imports DigitalData.Modules.Language
+Imports DigitalData.Services.EDMIService.Methods.Database
+Imports DigitalData.Services.EDMIService.Methods.IDB
+Imports DigitalData.Modules.ZooFlow.State
+Imports DigitalData.Modules.Base.IDB
+
+Namespace Methods.IDB.ImportFile
+ Public Class ImportFileMethod
+ Inherits BaseMethod
+
+ Private ReadOnly Connection As SqlClient.SqlConnection
+ Private ReadOnly Transaction As SqlClient.SqlTransaction
+
+ Private User As UserState
+
+ Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
+ MyBase.New(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
+
+ Connection = DatabaseIDB.GetConnection()
+ Transaction = Connection.BeginTransaction()
+ End Sub
+
+ '''
+ '''
+ '''
+ '''
+ '''
+ '''
+ '''
+ '''
+ Public Function Run(pData As ImportFileRequest)
+ Try
+ User = pData.User
+
+ ' TODO: Add missing user properties in UserState from TBDD_USER
+ 'pData.User = ResolveUserFromUserName(pData.User.UserName)
+
+ Dim oUserAttributes = pData.AttributeValues
+ Dim oAutoAttributes As List(Of UserAttributeValue) = Nothing
+
+ ' Import the file
+ Dim oNewFile As New NewFile.NewFileMethod(LogConfig, DatabaseIDB, DatabaseECM, GlobalState)
+ Dim oResponse = oNewFile.Run(New NewFile.NewFileRequest With {
+ .File = pData.File,
+ .IDBDoctypeId = pData.IDBDoctypeId,
+ .KindType = pData.KindType,
+ .StoreName = pData.StoreName,
+ .User = User
+ })
+
+ If oResponse.OK Then
+ Logger.Info("Import of file [{0}] under ObjectId [{1}] successful!", pData.File.FileName, oResponse.ObjectId)
+ Else
+ Throw New ApplicationException(oResponse.ErrorMessage)
+ End If
+
+ ' Generate display Filename from nameconvention
+ Dim oDisplayFilename = ""
+
+ ' Generate virtual path from profile
+ Dim oDynamicFilePath = ""
+
+ Logger.Info("Collecting Attributes for ObjectId [{0}]", oResponse.ObjectId)
+
+ Dim oFinalAttributes As New Dictionary(Of String, List(Of String))
+ oFinalAttributes = Helpers.UserAttributesToDictionary(oUserAttributes)
+
+ Logger.Info("Writing [{0}] Attributes for ObjectId [{0}] ", oResponse.ObjectId)
+ Helpers.SetAttributeValuesWithTransaction(Connection, Transaction, oResponse.ObjectId, oFinalAttributes, User.Language, User.UserName)
+
+ 'TODO: Write to TBGI_INDEX_HISTORY?
+
+ ' Finally, commit the transaction
+ Transaction?.Commit()
+
+ Return New ImportFileResponse(oResponse.ObjectId)
+
+ Catch ex As Exception
+ Logger.Warn("Error occurred while importing file!")
+ Logger.Error(ex)
+
+ Logger.Info("Rolling back transaction.")
+ Transaction?.Rollback()
+
+ Return New ImportFileResponse(ex)
+ End Try
+ End Function
+ End Class
+
+End Namespace
\ No newline at end of file
diff --git a/Service.EDMIService/Methods/IDB/ImportFile/ImportFileRequest.vb b/Service.EDMIService/Methods/IDB/ImportFile/ImportFileRequest.vb
new file mode 100644
index 00000000..8cfbe243
--- /dev/null
+++ b/Service.EDMIService/Methods/IDB/ImportFile/ImportFileRequest.vb
@@ -0,0 +1,53 @@
+Imports System.Runtime.Serialization
+Imports DigitalData.Modules.ZooFlow.State
+Imports DigitalData.Services.EDMIService.Methods.IDB
+
+Namespace Methods.IDB.ImportFile
+
+
+ Public Class ImportFileRequest
+ '''
+ ''' Important File properties like, Name, Contents, CreatedAt, ModifiedAt, Checksum
+ '''
+
+ Public Property File As FileProperties
+
+ '''
+ ''' The ProfileId the file will be imported with
+ '''
+
+ Public Property ProfileId As Integer
+
+ '''
+ ''' The Document Type of the file, ex. IncomingInvoice
+ '''
+
+ Public Property IDBDoctypeId As String
+
+ '''
+ ''' The kind of object to be created, ex. DOC
+ '''
+
+ Public Property KindType As String
+
+ '''
+ ''' Name/title of the ObjectStore to save the file to, ex. Work
+ '''
+
+ Public Property StoreName As String
+
+ '''
+ ''' The attribute values given by the user in the form of
+ ''' Attribute Name/Attribute Value/ControlName
+ '''
+
+ Public Property AttributeValues As New List(Of UserAttributeValue)
+
+ '''
+ ''' User Importing the file
+ '''
+ '''
+
+ Public Property User As UserState
+ End Class
+End Namespace
\ No newline at end of file
diff --git a/Service.EDMIService/Methods/IDB/ImportFile/ImportFileResponse.vb b/Service.EDMIService/Methods/IDB/ImportFile/ImportFileResponse.vb
new file mode 100644
index 00000000..d20c9f51
--- /dev/null
+++ b/Service.EDMIService/Methods/IDB/ImportFile/ImportFileResponse.vb
@@ -0,0 +1,22 @@
+Imports System.Runtime.Serialization
+
+Namespace Methods.IDB.ImportFile
+
+
+ Public Class ImportFileResponse
+ Inherits Messages.BaseResponse
+
+
+ Public Property ObjectId As Long
+
+ Public Sub New(pObjectId As Long)
+ MyBase.New()
+ ObjectId = pObjectId
+ End Sub
+
+ Public Sub New(pException As Exception, Optional pDetails As String = "")
+ MyBase.New(pException, pDetails)
+ End Sub
+ End Class
+
+End Namespace
diff --git a/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb b/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
index e7df9f1b..394ff7c9 100644
--- a/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
+++ b/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
@@ -118,7 +118,7 @@ Namespace Methods.IDB.NewFile
Continue For
End If
- Dim oSuccess = Helpers.SetAttributeValue(Connection, Transaction, oObjectId, oAttribute.Key, oAttribute.Value, pData.User.Language, pData.User.UserName)
+ Dim oSuccess = Helpers.SetAttributeValueWithTransaction(Connection, Transaction, oObjectId, oAttribute.Key, oAttribute.Value, pData.User.Language, pData.User.UserName)
If oSuccess Then
Logger.Debug("System Attribute [{0}] written with value [{1}]", oAttribute.Key, oAttribute.Value)
Else
diff --git a/Service.EDMIService/Methods/IDB/SetAttributeValue/SetAttributeValueMethod.vb b/Service.EDMIService/Methods/IDB/SetAttributeValue/SetAttributeValueMethod.vb
index 7e372a22..bec40ba6 100644
--- a/Service.EDMIService/Methods/IDB/SetAttributeValue/SetAttributeValueMethod.vb
+++ b/Service.EDMIService/Methods/IDB/SetAttributeValue/SetAttributeValueMethod.vb
@@ -25,7 +25,7 @@ Namespace Methods.IDB.SetAttributeValue
Logger.Debug("Setting value of Attribute [{0}]", pData.AttributeName)
- Dim oResult = Helpers.SetAttributeValue(Connection, Transaction,
+ Dim oResult = Helpers.SetAttributeValueWithTransaction(Connection, Transaction,
pData.ObjectId, pData.AttributeName, pData.AttributeValue, pData.Language, pData.Who)
If oResult = False Then