Merge committe
This commit is contained in:
commit
1496d02e59
@ -15,8 +15,7 @@ Public Class clsDateiverarbeitung
|
||||
Dim _database As clsDatabase
|
||||
|
||||
Public Shared pr_DTPROFIL_REGELN As DataTable
|
||||
Public Shared aktfile_Exportresult
|
||||
|
||||
Public Shared aktfile_Exportresult As String
|
||||
|
||||
Public Shared CriticalError As Boolean = False
|
||||
|
||||
@ -134,6 +133,82 @@ Public Class clsDateiverarbeitung
|
||||
Return String.Empty
|
||||
End Try
|
||||
End Function
|
||||
|
||||
' Neu geschriebene version 25.03.19
|
||||
Public Function Export_WMFile2HDD(WMObject As WMObject, ExportPath As String) As Boolean
|
||||
Try
|
||||
Dim oWMObject As IWMObject6 = DirectCast(WMObject, IWMObject6)
|
||||
|
||||
Dim oFilenameFull As String = oWMObject.aName
|
||||
Dim oFilenameExport As String
|
||||
Dim oSplitIndex = oFilenameFull.LastIndexOf(".")
|
||||
Dim oVersion = 1
|
||||
|
||||
Dim oFilename = oFilenameFull.Substring(0, oSplitIndex)
|
||||
Dim oExtension = oFilenameFull.Substring(oSplitIndex)
|
||||
|
||||
Logger.Debug("Preparing export of file {0}..", oFilenameFull)
|
||||
Logger.Debug("Filename: {0}", oFilename)
|
||||
Logger.Debug("Extension: {0}", oExtension)
|
||||
|
||||
' build the file path in case the exported file doesn't already exist
|
||||
oFilenameExport = BuildExportPath(ExportPath, oFilename, oExtension)
|
||||
|
||||
' Add version until we find the version that does NOT exist
|
||||
Do While File.Exists(oFilenameExport)
|
||||
oVersion += 1
|
||||
oFilenameExport = BuildExportPath(ExportPath, oFilename, oExtension, oVersion)
|
||||
Loop
|
||||
|
||||
Logger.Debug("File will be exported to {0}", oFilenameExport)
|
||||
|
||||
Logger.Debug("Opening file stream..")
|
||||
Dim oStream As WMStream = oWMObject.OpenStream("BinaryObject", WMObjectStreamOpenMode.WMObjectStreamOpenModeRead)
|
||||
Dim oWMFileIO As New WMOTOOLLib.WMFileIO() With {
|
||||
.aWMStream = oStream,
|
||||
.bstrOriginalFileName = oFilenameExport
|
||||
}
|
||||
|
||||
Logger.Debug("Exporting file..")
|
||||
oWMFileIO.ExportOriginal(True)
|
||||
|
||||
Logger.Debug("Cleaning up..")
|
||||
oStream.Close()
|
||||
|
||||
Logger.Debug("File exported!")
|
||||
|
||||
If File.Exists(oFilenameExport) Then
|
||||
Logger.Info($"File Export to HDD [{oFilenameExport}]was successfull (File.Exists = True)!")
|
||||
aktfile_Exportresult = oFilenameExport
|
||||
clsCURRENT.EXPORTED_FILENAME = oFilenameExport
|
||||
clsCURRENT.TEMP_FILES.Add(oFilenameExport)
|
||||
Logger.Debug("FileInfo Added to variables...")
|
||||
Return True
|
||||
Else
|
||||
Logger.Warn($"Export not successfull or File.Exists = false Export: [{oFilenameExport}]")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function BuildExportPath(BasePath As String, FilenameWithoutExtension As String, Extension As String, Optional Version As Integer = 1)
|
||||
Dim oFilename
|
||||
|
||||
If Version = 1 Then
|
||||
oFilename = FilenameWithoutExtension & Extension
|
||||
Else
|
||||
oFilename = FilenameWithoutExtension & "_" & Version & Extension
|
||||
End If
|
||||
|
||||
Return Path.Combine(BasePath, oFilename)
|
||||
End Function
|
||||
|
||||
' Alte Funktion 25.03.19
|
||||
'Public Function Export_WMFile2HDD(oWMFile As WMObject, MyExportpath As String)
|
||||
' Try
|
||||
' If Not MyExportpath.EndsWith("\") Then
|
||||
@ -150,17 +225,7 @@ Public Class clsDateiverarbeitung
|
||||
' Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
||||
' Logger.Debug("ExportFileIO created...")
|
||||
|
||||
' oWMFile.LockFor(WMObjectEditModeFileSystem)
|
||||
' Try
|
||||
' If Not oWMFile.aLocked Then
|
||||
' oWMFile.lock()
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
' Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
||||
' Return False
|
||||
' End Try
|
||||
|
||||
' Dim oWMStream = oWMFile.OpenStream("BinaryObject", 2)
|
||||
' Dim oWMStream = oWMFile.OpenStream("BinaryObject", 1)
|
||||
' '### VERSIONIERUNG ###
|
||||
' Dim version As Integer = 2
|
||||
' 'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
|
||||
@ -174,16 +239,13 @@ Public Class clsDateiverarbeitung
|
||||
' Loop
|
||||
' Logger.Debug("Exportfilename is: " & oTempFilename)
|
||||
' ' den Dateiinhalt der neuen Datei zuweisen
|
||||
' ExportFileIO.aWMStream = oWMStream
|
||||
' ExportFileIO.bstrOriginalFileName = oTempFilename
|
||||
|
||||
' ExportFileIO.aWMStream = oWMStream
|
||||
|
||||
' 'Das eigentliche kopieren
|
||||
' ExportFileIO.ExportOriginal(True)
|
||||
' ' close the windream file stream
|
||||
' oWMStream.Close()
|
||||
' oWMFile.Save()
|
||||
' oWMFile.unlock()
|
||||
' If File.Exists(oTempFilename) Then
|
||||
' clsCURRENT.EXPORTED_FILENAME = oTempFilename
|
||||
' Logger.Info($"File Export to HDD [{clsCURRENT.EXPORTED_FILENAME}]was successfull (File.Exists = True)!")
|
||||
@ -203,128 +265,6 @@ Public Class clsDateiverarbeitung
|
||||
' End Try
|
||||
'End Function
|
||||
|
||||
'Kopiert die übergebene Datei In den Zielpfad
|
||||
Public Function Export_WMFile2HDD(oWMFile As WMObject, oZielpfad As String)
|
||||
Try
|
||||
If Not oZielpfad.EndsWith("\") Then
|
||||
oZielpfad = oZielpfad & "\"
|
||||
End If
|
||||
Dim oNewFilename As String
|
||||
Logger.Info("Verarbeitung von Datei: " & oWMFile.aName)
|
||||
oNewFilename = CleanInput(oWMFile.aName)
|
||||
'Die Quelle zusammensetzen
|
||||
Logger.Debug("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & oWMFile.aPath & "\" & oWMFile.aName)
|
||||
'Dim Quelle As String = IO.Path.GetDirectoryName(WDLaufwerk & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
||||
|
||||
Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
||||
Logger.Debug("ExportFileIO erzeugt.....")
|
||||
' Stream Interface bereitstellen
|
||||
oWMFile.LockFor(WMObjectEditModeFileSystem)
|
||||
Try
|
||||
If Not oWMFile.aLocked Then
|
||||
oWMFile.lock()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Dim oWMStream = oWMFile.OpenStream("BinaryObject", WMObjectStreamOpenModeReadWrite)
|
||||
'### VERSIONIERUNG ###
|
||||
Dim version As Integer = 2
|
||||
'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
|
||||
Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf("."))
|
||||
Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf("."))
|
||||
Dim oTempFilename As String = oZielpfad & oFilename & oExtension
|
||||
'Überprüfen ob File existiert
|
||||
Do While IO.File.Exists(oTempFilename) = True
|
||||
oTempFilename = oZielpfad & oFilename & "_" & version & oExtension
|
||||
version = version + 1
|
||||
Loop
|
||||
Logger.Debug("Zieldateiname: " & oTempFilename)
|
||||
' den Dateiinhalt der neuen Datei zuweisen
|
||||
ExportFileIO.aWMStream = oWMStream
|
||||
ExportFileIO.bstrOriginalFileName = oTempFilename
|
||||
'Das eigentliche kopieren
|
||||
ExportFileIO.ExportOriginal(True)
|
||||
' close the windream file stream
|
||||
oWMStream.Close()
|
||||
oWMFile.Save()
|
||||
oWMFile.unlock()
|
||||
clsCURRENT.EXPORTED_FILENAME = oTempFilename
|
||||
Logger.Info("Datei erfolgreich nach '" & oTempFilename & "' kopiert.")
|
||||
aktfile_Exportresult = oTempFilename
|
||||
clsCURRENT.TEMP_FILES.Add(oTempFilename)
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
'bei einem Fehler einen Eintrag in der Logdatei machen
|
||||
Logger.Warn($"Unexpected in Export-File: [{oWMFile.aName}]...")
|
||||
Logger.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
'Kopiert die übergebene Datei in den Zielpfad
|
||||
'Public Function Export_File(oWMFile As WMObject, oZielpfad As String)
|
||||
' Try
|
||||
' If Not oZielpfad.EndsWith("\") Then
|
||||
' oZielpfad = oZielpfad & "\"
|
||||
' End If
|
||||
' Dim oNewFilename As String
|
||||
' Logger.Info("Verarbeitung von Datei: " & oWMFile.aName)
|
||||
' oNewFilename = CleanInput(oWMFile.aName)
|
||||
' 'Die Quelle zusammensetzen
|
||||
' Logger.Debug("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & oWMFile.aPath & "\" & oWMFile.aName)
|
||||
' 'Dim Quelle As String = IO.Path.GetDirectoryName(WDLaufwerk & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
||||
|
||||
' Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
||||
' Logger.Debug("ExportFileIO erzeugt.....")
|
||||
' ' Stream Interface bereitstellen
|
||||
' oWMFile.LockFor(WMObjectEditModeFileSystem)
|
||||
' Try
|
||||
' If Not oWMFile.aLocked Then
|
||||
' oWMFile.lock()
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
' Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
||||
' Return False
|
||||
' End Try
|
||||
|
||||
' Dim oWMStream = oWMFile.OpenStream("BinaryObject", WMObjectStreamOpenModeReadWrite)
|
||||
' '### VERSIONIERUNG ###
|
||||
' Dim version As Integer = 2
|
||||
' 'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
|
||||
' Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf("."))
|
||||
' Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf("."))
|
||||
' Dim oTempFilename As String = oZielpfad & oFilename & oExtension
|
||||
' 'Überprüfen ob File existiert
|
||||
' Do While IO.File.Exists(oTempFilename) = True
|
||||
' oTempFilename = oZielpfad & oFilename & "_" & version & oExtension
|
||||
' version = version + 1
|
||||
' Loop
|
||||
' Logger.Debug("Zieldateiname: " & oTempFilename)
|
||||
' ' den Dateiinhalt der neuen Datei zuweisen
|
||||
' ExportFileIO.aWMStream = oWMStream
|
||||
' ExportFileIO.bstrOriginalFileName = oTempFilename
|
||||
' 'Das eigentliche kopieren
|
||||
' ExportFileIO.ExportOriginal(True)
|
||||
' ' close the windream file stream
|
||||
' oWMStream.Close()
|
||||
' oWMFile.Save()
|
||||
' oWMFile.unlock()
|
||||
' clsCURRENT.EXPORTED_FILENAME = oTempFilename
|
||||
' Logger.Info("Datei erfolgreich nach '" & oTempFilename & "' kopiert.")
|
||||
' aktfile_Exportresult = oTempFilename
|
||||
' clsCURRENT.TEMP_FILES.Add(oTempFilename)
|
||||
' Return True
|
||||
' Catch ex As Exception
|
||||
' 'bei einem Fehler einen Eintrag in der Logdatei machen
|
||||
' Logger.Warn($"Unexpected in Export-File: [{oWMFile.aName}]...")
|
||||
' Logger.Error(ex)
|
||||
' Return False
|
||||
' End Try
|
||||
'End Function
|
||||
Public Function Rename_File(WMFile As WMObject, konvention As String)
|
||||
Try
|
||||
Logger.Debug("Konvention: '" & konvention & "'")
|
||||
|
||||
@ -188,16 +188,16 @@ Public Class DDWDResultHandler
|
||||
Logger.Info("Keine aktiven Profile WMResulthandler vorhanden")
|
||||
notcompleted = True
|
||||
End If
|
||||
Try
|
||||
For Each _file In clsCURRENT.TEMP_FILES
|
||||
'Dim oFile As New FileInfo(_file)
|
||||
'If (DateTime.UtcNow - oFile.CreationTimeUtc > TimeSpan.FromDays(1)) Then
|
||||
System.IO.File.Delete(_file)
|
||||
'End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
'Try
|
||||
' For Each _file In clsCURRENT.TEMP_FILES
|
||||
' 'Dim oFile As New FileInfo(_file)
|
||||
' 'If (DateTime.UtcNow - oFile.CreationTimeUtc > TimeSpan.FromDays(1)) Then
|
||||
' System.IO.File.Delete(_file)
|
||||
' 'End If
|
||||
' Next
|
||||
'Catch ex As Exception
|
||||
|
||||
End Try
|
||||
'End Try
|
||||
|
||||
_database.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
|
||||
If oFirstRun = True Then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user