diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.resx b/SDL/kunden/usrcntlKundeBearbeitenFull.resx
index 1af7de15..279a4474 100644
--- a/SDL/kunden/usrcntlKundeBearbeitenFull.resx
+++ b/SDL/kunden/usrcntlKundeBearbeitenFull.resx
@@ -117,4 +117,7 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 17, 17
+
\ No newline at end of file
diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.vb b/SDL/kunden/usrcntlKundeBearbeitenFull.vb
index 28b4be0c..46b3bbf1 100644
--- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb
+++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb
@@ -1498,8 +1498,8 @@ Public Class usrcntlKundeBearbeitenFull
Private Sub btnDatevExport_Click(sender As Object, e As EventArgs) Handles btnDatevExport.Click
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DATEV_EXPORT", "SDL") And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
- If VERAG_PROG_ALLGEMEIN.cDatev_Interface.genDatensatzCSV_ALL(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, False, True, False, ,, False) Then
- MsgBox("Stammdaten wurden erfolgreich exportiert!")
+ If VERAG_PROG_ALLGEMEIN.cDatev_Interface.genDatensatzCSV_ALL(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, False, True, False, ,, False, "ftp") Then
+ MsgBox("Stammdaten wurden erfolgreich exportiert unf auf FTP geladen!")
Else
MsgBox("Es wurden keine Stammdaten exportiert!")
End If
diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb
index d95139d7..b8121586 100644
--- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb
+++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb
@@ -25,37 +25,23 @@ Public Class cMSEAPI
Public Function createJWT(ByRef failureText As String) As String
Try
- If apiSettingsloaded = False Then Return False
-
Dim jwt As New Chilkat.Jwt
-
- ' Build the JOSE header
Dim jose As New Chilkat.JsonObject
- ' Use HS256. Pass the string "HS384" or "HS512" to use a different algorithm.
Dim success As Boolean = jose.AppendString("alg", "HS256")
success = jose.AppendString("typ", "JWT")
' Now build the JWT claims (also known as the payload)
Dim claims As New Chilkat.JsonObject
success = claims.AppendString("iss", API.Rows(0).Item("api_user"))
- 'success = claims.AppendString("sub", "")
- 'success = claims.AppendString("aud", "http://example.com")
-
- ' Set the timestamp of when the JWT was created to now.
Dim curDateTime As Integer = jwt.GenNumericDate(0)
- 'success = claims.AddIntAt(-1, "iat", curDateTime)
-
- ' Set the "not process before" timestamp to now.
- 'success = claims.AddIntAt(-1, "nbf", curDateTime)
' Set the timestamp defining an expiration time (end time) for the token
' to be now + 1 hour (3600 seconds)
success = claims.AddIntAt(-1, "exp", curDateTime + 3600)
- ' Produce the smallest possible JWT:
jwt.AutoCompact = True
- Dim strJwt As String = jwt.CreateJwt(jose.Emit(), claims.Emit(), API.Rows(0).Item("api_passwort"))
+ Dim strJwt As String = jwt.CreateJwt(jose.Emit(), claims.Emit(), API.Rows(0).Item("api_password"))
Debug.WriteLine(strJwt)
Return strJwt
@@ -66,30 +52,48 @@ Public Class cMSEAPI
End Function
- Public Function getTransactions(jwt As String) As String
+ Public Function getNewestTransactions(jwt As String, dt As DataTable) As String
Try
Dim returnText As String = ""
Dim failureText As String = ""
-
-
Dim success As Boolean
+
+ rest.VerboseLogging = True
+ Dim bTls As Boolean = True
+ Dim port As Integer = 443
+ 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)
+ failureText = rest.LastErrorText
+ Return False
+ End If
+
+ If (success <> True) Then
+ Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)
+ Debug.WriteLine(rest.LastErrorText)
+ failureText = rest.LastErrorText
+ Return False
+ End If
+
rest.ClearAllQueryParams()
- rest.AddHeader("X_API_KEY", jwt)
+ rest.AddHeader("X-API-Key", jwt)
- rest.IdleTimeoutMs = 5000
+ rest.IdleTimeoutMs = 500000
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/transactions/new")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
rest.IdleTimeoutMs = 30000 'defualt
- Return "Fehler"
+ Return "rest.LastErrorText"
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
- Return "Fehler"
+ Return "rest.LastErrorText"
End If
Debug.WriteLine(responseJson)
@@ -104,6 +108,83 @@ Public Class cMSEAPI
Debug.WriteLine(json)
+ Dim jsonArray As New Chilkat.JsonArray
+ success = jsonArray.Load(responseJson)
+ If (success <> True) Then
+ Return jsonArray.LastErrorText
+ End If
+
+
+ Dim num As Integer = jsonArray.Size
+ If num = -1 Then
+ Return "FEHLER"
+ End If
+
+
+ Dim j As Integer = 0
+
+ If dt IsNot Nothing And Not dt.Columns.Contains("transaction_id") Then
+
+ dt.Columns.Add("transaction_id", GetType(String))
+ dt.Columns.Add("partner_haulier_id", GetType(Integer))
+ dt.Columns.Add("supplier_name", GetType(String))
+ dt.Columns.Add("transaction_country", GetType(String))
+ dt.Columns.Add("transaction_domain", GetType(String))
+
+ dt.Columns.Add("purchase_datetime", GetType(DateTime))
+ dt.Columns.Add("entry_point_name", GetType(String))
+ dt.Columns.Add("entry_datetime", GetType(DateTime))
+ dt.Columns.Add("exit_point_name", GetType(String))
+ dt.Columns.Add("exit_datetime", GetType(DateTime))
+
+ dt.Columns.Add("device_product_type", GetType(String))
+ dt.Columns.Add("device_product_number", GetType(String))
+ dt.Columns.Add("transaction_product_id", GetType(Integer))
+ dt.Columns.Add("transaction_product_name", GetType(String))
+ dt.Columns.Add("license_plate_number", GetType(String))
+
+ dt.Columns.Add("vehicle_country", GetType(Integer))
+ dt.Columns.Add("original_currency", GetType(String))
+ dt.Columns.Add("original_net_amount", GetType(String))
+ dt.Columns.Add("original_gross_amount", GetType(String))
+ dt.Columns.Add("original_vat_percentage", GetType(Boolean))
+
+ dt.Columns.Add("transaction_net_amount", GetType(Integer))
+ dt.Columns.Add("transaction_gross_amount", GetType(String))
+ dt.Columns.Add("exempt_amount", GetType(String))
+ dt.Columns.Add("msts_fee_amount", GetType(String))
+ dt.Columns.Add("msts_vat_amount", GetType(Boolean))
+
+ dt.Columns.Add("msts_vat_percentage", GetType(Integer))
+ dt.Columns.Add("total_gross_amount", GetType(String))
+ dt.Columns.Add("transaction_status", GetType(String))
+ dt.Columns.Add("original_transaction_id", GetType(String))
+ dt.Columns.Add("credit_comment", GetType(Boolean))
+ dt.Columns.Add("loading_date", GetType(Date))
+ dt.Columns.Add("batch_seq_nr", GetType(Integer))
+
+
+ While j < num
+
+ Dim transaction As Chilkat.JsonObject = jsonArray.ObjectAt(j)
+
+ Dim R As DataRow = dt.NewRow
+ 'R("id") = groups.IntOf("id")
+ 'R("name") = groups.StringOf("name")
+ 'R("groupType") = groups.StringOf("groupType")
+ 'R("info") = groups.StringOf("info")
+
+ dt.Rows.Add(R)
+ j = j + 1
+ End While
+
+
+ dt = dt.DefaultView.ToTable()
+
+ End If
+
+
+
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)