Imports Therefore.API Public Class cTherefore Shared Function saveFileTo_ImportFolder(Path As String, FilialeAbfertigungsNr As String, AvisoId As String, FirmaId As String, Optional deleteFileAfterImport As Boolean = False) FilialeAbfertigungsNr = FilialeAbfertigungsNr.Replace(";", " ") FilialeAbfertigungsNr = FilialeAbfertigungsNr.Replace("/", " ") FilialeAbfertigungsNr = FilialeAbfertigungsNr.Replace("-", " ") if FilialeAbfertigungsNr.Length> 30 then FilialeAbfertigungsNr=FilialeAbfertigungsNr.ToString.Substring(0,30) Select Case FirmaId Case 7 Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Atilla ab Juni 2011",, deleteFileAfterImport) Case 21,22,23 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021 UNISPED", "UNISPED\Import ab Jänner 2021 UNISPED DE", deleteFileAfterImport) 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021 UNISPED", "Import ab Jänner 2021 UNISPED DE", deleteFileAfterImport) Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021 UNISPED_DE", "UNISPED Zollakten", deleteFileAfterImport) 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, 394, 394, deleteFileAfterImport) Case 1, 11, 20, 17 ', 15 ' Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import an Jänner 2019", "Import ab Jänner 2019", deleteFileAfterImport) 'Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2021", "Import ab Jänner 2021", deleteFileAfterImport) Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2022", "Import ab Jänner 2022", deleteFileAfterImport) ' Return saveFileTo_ImportFolderCat(Path, FilialeAbfertigungsNr, AvisoId, "Import ab Jänner 2020", "Import ab Jänner 2020", deleteFileAfterImport) Case Else Return False End Select End Function Shared Function saveFileTo_ImportFolderCat(Path As String, FilialeAbfertigungsNr As String, AvisoId As String, Category As String, Optional Category2 As String = "", Optional deleteFileAfterImport As Boolean = False) Try If Category2 = "" Then Category2 = Category Dim SQL As New SQL ' 1. Connect to the Therefore™ Server Dim server As New TheServer server.Connect(TheClientType.CustomApplication) ' 2. Create a new Therefore™ Document Dim doc As New TheDocument() ' 3. Create temporary File 'Dim filename As String = "" 'doc.Create(filename) ' 4A. Set Therefore™ Category by Number ' doc.IndexData.SetCategory(5, server) ' or 4B. Set Therefore™ Category by Name doc.IndexData.SetCategory(Category2, server) ' 5. Add streams 'doc.AddStream("D:\\TestAll\\TestDocs\\Scsi.doc", "", 0) 'doc.AddStream("D:\\TestAll\\TestDocs\\TEST.xls", "", 0) ' 6. Set index data 'Dim indexData As TheIndexData = doc.IndexData 'indexData("String") = FilialeAbfertigungsNr 'indexData("Eingabedatum") = Now.ToShortDateString 'indexData("LKW_ID") = AvisoId 'MsgBox(doc.IndexData.Count) ' 7. Archive the document 'Dim docNo As Integer = doc.Archive(server, 0) 'Dim docNo As Integer = 0 'Dim filenameNEW As String = doc.Retrieve(docNo, "", server) Dim TableName = "" If IsNumeric(Category) Then TableName = "TheCat" & Category If SQL.getValueTxtBySql("SELECT count(*) FROM [TheCategory] WHERE TableName='" & TableName & "'", "SCANCANON",,, "") = 0 Then MsgBox("Therefore: Tabelle nicht gefunden: " & TableName) Return False End If Else TableName = SQL.getValueTxtBySql("SELECT TOP 1 [TableName] FROM [TheCategory] WHERE Title='" & Category & "'", "SCANCANON",,, "") End If Dim docNo As Integer = SQL.getValueTxtBySql("SELECT TOP 1 isnull([DocNo],-1) FROM " & TableName & " WHERE [String] LIKE '" & FilialeAbfertigungsNr & "' ORDER BY [Eingabedatum] DESC", "SCANCANON",,, -1) ' MsgBox("docNo: " & docNo) Dim filename As String = "" If docNo <= 0 Then doc.Create(filename) doc.AddStream(Path, "", 0) Dim indexData As TheIndexData = doc.IndexData indexData("String") = FilialeAbfertigungsNr indexData("Eingabedatum") = Now.ToShortDateString indexData("LKW_ID") = AvisoId docNo = doc.Archive(server, 0) Else Dim folder = "" Dim VerionNo As Integer filename = doc.Retrieve(docNo, VerionNo, folder, server, False) Dim user As String = "" doc.CheckOut(server, False, user, VerionNo) doc.AddStream(Path, "", 0) doc.CheckIn(server) End If ' 8. Close Therefore™ document object doc.Close() ' 9. Delete the temporary file If deleteFileAfterImport Then System.IO.File.Delete(filename) ' 10. Optional: Print a success message on the console ' Console.WriteLine("Document successfully archived as " + docNo.ToString() + ".") Return True Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try Return False End Function 'Shared Function saveFileTo_ImportFolder2(Path As String, FilialeAbfertigungsNr As Integer, AvisoId As Integer) ' Try ' ' 1. Connect to the Therefore™ Server ' Dim server As New TheServer ' server.Connect(TheClientType.CustomApplication) ' ' 2. Create a new Therefore™ Document ' Dim doc As New TheDocument() ' ' 3. Create temporary File ' Dim filename As String = "" ' doc.Create(filename) ' ' 4A. Set Therefore™ Category by Number ' ' doc.IndexData.SetCategory(5, server) ' ' or 4B. Set Therefore™ Category by Name ' doc.IndexData.SetCategory("Import ab Jänner 2019", server) ' ' 5. Add streams ' 'doc.AddStream("D:\\TestAll\\TestDocs\\Scsi.doc", "", 0) ' 'doc.AddStream("D:\\TestAll\\TestDocs\\TEST.xls", "", 0) ' doc.AddStream(Path, "", 0) ' ' 6. Set index data ' ' MsgBox(doc.IndexData.Count) ' ' 7. Archive the document ' Dim docNo As Integer = doc.Archive(server, 0) ' MsgBox(docNo) ' ' 8. Close Therefore™ document object ' doc.Close() ' ' 9. Delete the temporary file ' System.IO.File.Delete(filename) ' ' 10. Optional: Print a success message on the console ' ' Console.WriteLine("Document successfully archived as " + docNo.ToString() + ".") ' Catch ex As Exception ' MsgBox(ex.Message & ex.StackTrace) ' End Try 'End Function End Class