This commit is contained in:
2023-06-16 07:58:32 +02:00
2 changed files with 284 additions and 0 deletions

View File

@@ -0,0 +1,283 @@
Imports System.Net
Imports iTextSharp.text.pdf.codec.wmf
Imports Newtonsoft.Json.Linq
Public Class cNorsware
'PROD
Shared API_STRING As String = "http://54.93.249.123"
Shared token As String = ""
Public dataTable As New DataTable()
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String) As String
Try
If Itoken <> "" Then Return "token filled"
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = False
Dim port As Integer = 7128
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Return rest.LastErrorText
End If
Dim json As New Chilkat.JsonObject
'json.UpdateString("username", user)
'json.UpdateString("password", pw)
rest.AddHeader("Content-Type", contentType)
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
Dim ResponseStr = rest.FullRequestSb(method, myuri, sbRequestBody, sbResponseBody)
If (rest.ResponseStatusCode <> 200) Then
Return rest.ResponseStatusCode & " " & rest.ResponseStatusText
End If
Dim jsonResp = New Chilkat.JsonObject()
jsonResp.LoadSb(sbResponseBody)
token = jsonResp.StringOf("token")
Itoken = token
Return rest.ResponseStatusCode & " " & rest.ResponseStatusText
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Shared Function UploadPDFWithAuthHeader(pdfStringSource As String, acceptContentType As String, method As String, authenticationToken As String, ByRef dataTable As DataTable) As String
Try
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = False
Dim port As Integer = 7135
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
End If
Dim fileStream As New Chilkat.Stream
fileStream.SourceFile = pdfStringSource
rest.AddHeader("Authorization", "Bearer " & authenticationToken)
rest.AddHeader("Content-Type", "multipart/form-data")
rest.PartSelector = "1"
rest.AddHeader("Content-Type", "pdf")
rest.AddHeader("Content-Disposition", "form-data; name=""file""; filename=""starfish.pdf""")
rest.SetMultipartBodyStream(fileStream)
rest.PartSelector = "0"
Dim responseBody As String = rest.FullRequestMultipart(method, API_STRING & ":7135/api/File/UploadFile")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return rest.LastErrorText
End If
If (rest.ResponseStatusCode <> 200) Then
Return rest.ResponseStatusCode & " " & rest.ResponseStatusText
End If
Debug.WriteLine("File uploaded")
Dim jsonArray As New Chilkat.JsonArray
Dim success2 As Boolean = jsonArray.Load(responseBody)
If (success2 <> True) Then
Debug.WriteLine(jsonArray.LastErrorText)
Return "Verbindungsfehler"
End If
Dim num As Integer = jsonArray.Size
If num = -1 Then
Return "Fehler"
End If
Dim j As Integer = 0
While j < num
Dim pdfSite As Chilkat.JsonObject = jsonArray.ObjectAt(j)
Dim R As DataRow = dataTable.NewRow
R("adi") = pdfSite.StringOf("adi")
R("id") = pdfSite.StringOf("id")
R("ihracatBeyannamesi") = IIf(j = 0, True, False)
R("ekBelge") = IIf(j = 0, False, True)
R("sira") = j + 1
R("secildi") = pdfSite.BoolOf("secildi")
R("ogretildi") = pdfSite.IntOf("ogretildi")
R("kayitTarihi") = pdfSite.StringOf("kayitTarihi")
R("dosyaGrupId") = pdfSite.StringOf("dosyaGrupId")
dataTable.Rows.Add(R)
j = j + 1
End While
Return "File uploaded (Anzahl Seiten " & num & ")"
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Shared Function authenticate(username As String, passwort As String, ByRef token As String) As String
Dim myUri As String = API_STRING & ":7128/api/Kullanici/Giris/" & username & "/" & passwort
Dim response = SendRequestAuthentificationToken(myUri, "application/json", "GET", token)
Return response
End Function
Shared Function sendSelection(authenticationToken As String, acceptContentType As String, ByRef dataTable As DataTable, ByRef groupID As String) As String
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim rest As New Chilkat.Rest
Dim success As Boolean
'Dim jsonreqbody As New Chilkat.JsonObject
'success = jsonreqbody.AddArrayAt(-1, "")
Dim JArray As New Chilkat.JsonArray
'JArray = jsonReqBody.ArrayAt(jsonReqBody.Size - 1)
Dim json As Chilkat.JsonObject
Dim j As Integer = 0
For Each row In dataTable.Rows
JArray.AddObjectAt(j)
json = JArray.ObjectAt(j)
json.UpdateString("adi", row("adi"))
json.UpdateString("dosyaGrupId", row("dosyaGrupId"))
json.UpdateBool("ihracatBeyannamesi", row("ihracatBeyannamesi"))
json.UpdateBool("ekBelge", row("ekBelge"))
json.UpdateNumber("sira", row("sira"))
json.UpdateNumber("ogretildi", row("ogretildi"))
json.UpdateBool("secildi", row("secildi"))
json.UpdateString("id", row("id"))
json.UpdateString("kayitTarihi", row("kayitTarihi"))
JArray.EmitCompact = False
Debug.WriteLine(JArray.Emit())
j = j + 1
Next
Dim bTls As Boolean = False
Dim port As Integer = 7135
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
End If
Dim myUrl As String = API_STRING & ":7135/api/MachineLearning/Learn"
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", "Bearer " & authenticationToken)
rest.AddHeader("Accept", acceptContentType)
'Debug.WriteLine(JArray.Emit())
'Return jsonReqBody.ToString
Dim jsonResponseStr As String = rest.FullRequestString("POST", myUrl, JArray.Emit())
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return rest.LastErrorText
End If
Dim result = New Chilkat.JsonObject()
success = result.Load(jsonResponseStr)
groupID = result.StringOf("dosyaGrupId")
Return success
End Function
Shared Function getData(authenticationToken As String, acceptContentType As String, ByRef groupID As String) As String
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim json As Chilkat.JsonObject
Dim bTls As Boolean = False
Dim port As Integer = 7128
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
End If
Dim myUrl As String = API_STRING & ":7128/api/MachineLearning/VeriGetir/" & groupID
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", "Bearer " & authenticationToken)
rest.AddHeader("Accept", acceptContentType)
'Debug.WriteLine(JArray.Emit())
'Return jsonReqBody.ToString
Dim jsonResponseStr As String = rest.FullRequestNoBody("GET", myUrl)
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return rest.LastErrorText
End If
Return jsonResponseStr
End Function
End Class

View File

@@ -581,6 +581,7 @@
<Compile Include="Schnittstellen\cJsonPost.vb" />
<Compile Include="Schnittstellen\cLDV_Interface.vb" />
<Compile Include="Schnittstellen\cNCTS_Helper.vb" />
<Compile Include="Schnittstellen\cNorsware.vb" />
<Compile Include="Schnittstellen\cSyska_Interface.vb" />
<Compile Include="Schnittstellen\cTherefore.vb" />
<Compile Include="Schnittstellen\Finanzonline\cFinanzOnlineWebService.vb" />