141 lines
5.9 KiB
VB.net
141 lines
5.9 KiB
VB.net
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 1, 11 ', 15,20
|
|
' 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 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 = SQL.getValueTxtBySql("SELECT TOP 1 [TableName] FROM [TheCategory] WHERE Title='" & Category & "'", "SCANCANON",,, "")
|
|
Dim docNo As Integer = SQL.getValueTxtBySql("SELECT TOP 1 isnull([DocNo],-1) FROM " & TableName & " WHERE [String] LIKE '" & FilialeAbfertigungsNr & "' ORDER BY [Eingabedatum] DESC", "SCANCANON",,, -1)
|
|
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
|