Imports DigitalData.Modules.EDMI.API.EDMIServiceReference Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Filesystem Namespace Modules.IDB Public Class NewFile Inherits BaseMethod Public Sub New(pLogConfig As LogConfig, pChannel As IEDMIServiceChannel) MyBase.New(pLogConfig, pChannel) End Sub Public Async Function RunAsync(pFilePath As String, pObjectStoreName As String, pObjectKind As String, pIDBDoctypeId As Long, Optional pOptions As Options.NewFileOptions = Nothing) As Task(Of Long) Try ' Set default options If pOptions Is Nothing Then pOptions = New Options.NewFileOptions() End If ' Check if file exists If IO.File.Exists(pFilePath) = False Then Throw New IO.FileNotFoundException("Path does not exist") End If ' Importing the file now Dim oFileProperties = Helpers.GetFileProperties(pFilePath, pOptions.DateImported) Dim oFileImportResponse = Await Channel.NewFileAsync(New NewFileRequest With { .IDBDoctypeId = pIDBDoctypeId, .File = oFileProperties, .KindType = pObjectKind, .StoreName = pObjectStoreName, .User = New UserState With { .Language = pOptions.Language, .UserName = pOptions.Username } }) If oFileImportResponse.OK = False Then Throw New ApplicationException("Could not Import File Contents!") End If Return oFileImportResponse.ObjectId Catch ex As Exception Logger.Error(ex) Return Constants.INVALID_OBEJCT_ID End Try End Function End Class End Namespace