49 lines
1.9 KiB
VB.net
49 lines
1.9 KiB
VB.net
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
|
|
Imports DigitalData.Modules.Logging
|
|
|
|
|
|
Public Class Helpers
|
|
Private ReadOnly LogConfig As LogConfig
|
|
Private ReadOnly Logger As Logger
|
|
Private ReadOnly FileEx As Filesystem.File
|
|
|
|
Public Sub New(pLogConfig As LogConfig)
|
|
LogConfig = pLogConfig
|
|
Logger = pLogConfig.GetLogger()
|
|
FileEx = New Filesystem.File(pLogConfig)
|
|
End Sub
|
|
|
|
Public Function GetFileProperties(pFilePath As String, pDateImportedAt As Date) As FileProperties
|
|
Try
|
|
Using oFileStream As New IO.FileStream(pFilePath, IO.FileMode.Open, IO.FileAccess.Read)
|
|
Using oMemoryStream As New IO.MemoryStream()
|
|
oFileStream.CopyTo(oMemoryStream)
|
|
Dim oContents = oMemoryStream.ToArray()
|
|
|
|
Dim oFileInfo As New IO.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)
|
|
|
|
Return New FileProperties With {
|
|
.FileName = oFileInfo.Name,
|
|
.FileCreatedAt = oFileCreatedAt,
|
|
.FileChangedAt = oFileModifiedAt,
|
|
.FileContents = oContents,
|
|
.FileImportedAt = pDateImportedAt,
|
|
.FileChecksum = oFileHash,
|
|
.FileInfoRaw = oFileInfo
|
|
}
|
|
End Using
|
|
End Using
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
End Class
|
|
|