chat, essenebstellungen, vollmachten (gültig bis), bugfix laden bei sendungsdetails kunden (fehlermeldung), sprache bei verzollungsunterlagen BAR, Rechung an Atilla

This commit is contained in:
2024-07-29 09:35:57 +02:00
parent f84d9184ab
commit df27c0c389
15 changed files with 1131 additions and 113 deletions

View File

@@ -56,11 +56,11 @@ Public Class cMessenger
Public Shared Function GET_NewMSG_COUNT_ART(maId, chat_art) As Integer
If maId < 0 Then maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_Chat on chat_id=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & maId & " AND chatMgSt_gelesen=0 AND chat_art='" & chat_art & "'", "ADMIN",,, 0)
Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_Chat on chat_id=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & maId & " AND chatMgSt_gelesen=0 AND chat_art='" & chat_art & "' AND (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & maId & ")>0", "ADMIN",,, 0)
End Function
Public Shared Function GET_NewMSG_COUNT_ART_INAKTIV(maId, chat_art) As Integer
If maId < 0 Then maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_Chat on chat_id=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & maId & " AND chatMgSt_gelesen=0 AND chat_aktiv=0 AND chat_art='" & chat_art & "'", "ADMIN",,, 0)
Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_Chat on chat_id=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & maId & " AND chatMgSt_gelesen=0 AND chat_aktiv=0 AND chat_art='" & chat_art & "' AND (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & maId & ")>0", "ADMIN",,, 0)
End Function
Public Shared Function GET_NewMSG_COUNT_AVISOID(AvisoId As Integer) As Integer

View File

@@ -1428,11 +1428,16 @@ Public Class cFormularManager
If doc IsNot Nothing Then
doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
doc.SaveToFile(targetPath)
If targetPath.EndsWith(".pdf") Then
doc.SaveToFile(targetPath)
Else
doc.SaveToFile(targetPath & "\" & filename)
End If
If openFileAfterDownload Then
End If
End If
End If
End Using
End Using

View File

@@ -1,4 +1,6 @@
Imports System.Net
Imports System.Data.SqlClient
Imports System.Net
Imports System.Reflection
Public Class cMSEAPI
@@ -32,6 +34,7 @@ Public Class cMSEAPI
' Now build the JWT claims (also known as the payload)
Dim claims As New Chilkat.JsonObject
If API.Rows.Count = 0 Then Return "keine gültigen Zugangsdaten gefunden!"
success = claims.AppendString("iss", API.Rows(0).Item("api_user"))
Dim curDateTime As Integer = jwt.GenNumericDate(0)
@@ -59,6 +62,8 @@ Public Class cMSEAPI
Dim success As Boolean
'rest.DebugMode = True
rest.VerboseLogging = True
Dim bTls As Boolean = True
Dim port As Integer = 443
@@ -98,6 +103,7 @@ Public Class cMSEAPI
Debug.WriteLine(responseJson)
'responseJson = "{""sender"":""MSTS"",""receiver"":""23771"",""datetime"":""2024-06-28 10:56:39"",""code"":""OK"",""message"":""OK"",""batch_seq_nr"":""2"",""customer_currency"":""EUR"",""total_pages"":100,""total_count"":99998,""total_amount"":291133.02,""page_nr"":1,""page_count"":999,""page_amount"":26238.88,""transactions"":[{""transaction_id"":1001723285,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-20 14:02:34"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-20 14:02:34"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723286,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-26 05:34:49"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-26 05:34:49"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723289,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-03 09:57:14"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-03 09:57:14"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723290,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-04 14:47:25"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-04 14:47:25"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""}]}"
Dim json As New Chilkat.JsonObject
success = json.Load(responseJson)
@@ -108,14 +114,181 @@ Public Class cMSEAPI
Debug.WriteLine(json)
Dim jsonArray As New Chilkat.JsonArray
success = jsonArray.Load(responseJson)
If (success <> True) Then
Return jsonArray.LastErrorText
Dim transactions As New Chilkat.JsonArray
transactions = json.ArrayOf("transactions")
If (json.LastMethodSuccess = False) Then
Debug.WriteLine("transactions member not found.")
End If
Dim num As Integer = jsonArray.Size
Dim num As Integer = transactions.Size
If num = -1 Then
Return "FEHLER"
End If
saveTransactions(num, dt, transactions, json.StringOf("receiver"))
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Public Function getTransactionsFromToDate(jwt As String, dt As DataTable, start_date As Date, end_date As Date) As String
Try
Dim returnText As String = ""
Dim failureText As String = ""
Dim success As Boolean
'rest.DebugMode = True
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.AddQueryParam("start_date", start_date.ToString("yyyy-MM-dd"))
rest.AddQueryParam("end_date", end_date.ToString("yyyy-MM-dd"))
rest.IdleTimeoutMs = 500000
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/transactions")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
rest.IdleTimeoutMs = 30000 'defualt
Return "rest.LastErrorText"
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
Return rest.LastErrorText
End If
Debug.WriteLine(responseJson)
'responseJson = "{""sender"":""MSTS"",""receiver"":""23771"",""datetime"":""2024-06-28 10:56:39"",""code"":""OK"",""message"":""OK"",""batch_seq_nr"":""2"",""customer_currency"":""EUR"",""total_pages"":100,""total_count"":99998,""total_amount"":291133.02,""page_nr"":1,""page_count"":999,""page_amount"":26238.88,""transactions"":[{""transaction_id"":1001723285,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-20 14:02:34"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-20 14:02:34"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723286,""partner_haulier_id"":""401052"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-26 05:34:49"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-26 05:34:49"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005108291"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""BG1000FG"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723289,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-03 09:57:14"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-03 09:57:14"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""},{""transaction_id"":1001723290,""partner_haulier_id"":""401370"",""supplier_name"":""TUNNEL ALPIN DU FREJUS"",""transaction_country"":""FR"",""transaction_domain"":""Frejus tunnel"",""purchase_datetime"":""2024-04-04 14:47:25"",""entry_point_name"":""FREJUS TUNNEL"",""entry_datetime"":""2024-04-04 14:47:25"",""exit_point_name"":null,""exit_datetime"":null,""device_product_type"":""Frejus"",""device_product_number"":""3081184009005114273"",""transaction_product_id"":140,""transaction_product_name"":""Toll "",""license_plate_number"":""RU042IS"",""vehicle_country"":""RS"",""original_currency"":""EUR"",""original_net_amount"":258.38,""original_gross_amount"":310.05,""original_vat_percentage"":20,""transaction_net_amount"":258.38,""transaction_gross_amount"":310.05,""exempt_amount"":0,""msts_fee_amount"":4.65,""msts_vat_amount"":0,""msts_vat_percentage"":0,""total_gross_amount"":314.7,""transaction_status"":""Billed"",""original_transaction_id"":null,""credit_comment"":null,""loading_date"":""2024-05-14"",""batch_seq_nr"":""2""}]}"
Dim json As New Chilkat.JsonObject
success = json.Load(responseJson)
If (success <> True) Then
Debug.WriteLine(json.LastErrorText)
End If
Debug.WriteLine(json)
Dim transactions As New Chilkat.JsonArray
transactions = json.ArrayOf("transactions")
If (json.LastMethodSuccess = False) Then
Debug.WriteLine("transactions member not found.")
End If
Dim num As Integer = transactions.Size
If num = -1 Then
Return "FEHLER"
End If
saveTransactions(num, dt, transactions, json.StringOf("receiver"))
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Public Function getBilledTransactionsFromInvoiceID(jwt As String, dt As DataTable, invoiceID As String) As String
Try
Dim returnText As String = ""
Dim failureText As String = ""
Dim success As Boolean
'rest.DebugMode = True
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.AddQueryParam("invoice_id", invoiceID)
rest.AddHeader("X-API-Key", jwt)
rest.IdleTimeoutMs = 500000
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/settlements")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
rest.IdleTimeoutMs = 30000 'defualt
Return "rest.LastErrorText"
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
Return "rest.LastErrorText"
End If
Debug.WriteLine(responseJson)
'responseJson = "{""sender"":""MSTS"",""receiver"":""10738"",""datetime"":""2024-07-25 14:17:45"",""code"":""OK"",""message"":""OK"",""customer_currency"":""EUR"",""total_pages"":1,""total_count"":56351,""total_amount"":164386.34,""page_nr"":1,""page_count"":56351,""page_amount"":164386.34,""settlements"":[{""transaction_id"":1001723285,""purchase_datetime"":""2024-06-25 21:29:16"",""partner_haulier_id"":""401058"",""transaction_net_amount"":9.08,""transaction_gross_amount"":10.9,""msts_fee_amount"":0.11,""msts_vat_amount"":0,""total_gross_amount"":11.01,""invoice_number"":""1753066"",""invoice_date"":""2024-07-15"",""specification_page_id"":197,""specification_page_name"":""French toll roads - TISPL"",""transaction_debit_or_credit"":""Debit"",""original_transaction_id"":null,""original_invoice_number"":null,""original_invoice_date"":null,""credit_comment"":null,""batch_seq_nr"":""1""},{""transaction_id"":1001723286,""purchase_datetime"":""2024-06-26 11:17:48"",""partner_haulier_id"":""401267"",""transaction_net_amount"":10.42,""transaction_gross_amount"":12.5,""msts_fee_amount"":0.13,""msts_vat_amount"":0,""total_gross_amount"":12.63,""invoice_number"":""1753066"",""invoice_date"":""2024-07-15"",""specification_page_id"":197,""specification_page_name"":""French toll roads - TISPL"",""transaction_debit_or_credit"":""Debit"",""original_transaction_id"":null,""original_invoice_number"":null,""original_invoice_date"":null,""credit_comment"":null,""batch_seq_nr"":""1""}]}"
Dim json As New Chilkat.JsonObject
success = json.Load(responseJson)
If (success <> True) Then
Debug.WriteLine(json.LastErrorText)
End If
Debug.WriteLine(json)
Dim transactions As New Chilkat.JsonArray
transactions = json.ArrayOf("settlements")
If (json.LastMethodSuccess = False) Then
Debug.WriteLine("transactions member not found.")
End If
Dim num As Integer = transactions.Size
If num = -1 Then
Return "FEHLER"
End If
@@ -123,61 +296,258 @@ Public Class cMSEAPI
Dim j As Integer = 0
dt.Columns.Clear()
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("purchase_datetime", GetType(DateTime))
'dt.Columns.Add("partner_haulier_id", GetType(Integer))
'dt.Columns.Add("transaction_net_amount", GetType(String))
'dt.Columns.Add("transaction_gross_amount", GetType(String))
'dt.Columns.Add("msts_fee_amount", GetType(String))
'dt.Columns.Add("msts_vat_amount", GetType(String))
'dt.Columns.Add("total_gross_amount", GetType(String))
dt.Columns.Add("invoice_number", GetType(String))
dt.Columns.Add("invoice_date", GetType(String))
dt.Columns.Add("specification_page_id", GetType(String))
dt.Columns.Add("specification_page_name", GetType(String))
dt.Columns.Add("transaction_debit_or_credit", 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))
dt.Columns.Add("original_invoice_number", GetType(Integer))
dt.Columns.Add("original_invoice_date", GetType(String))
dt.Columns.Add("credit_comment", GetType(String))
While j < num
Dim transaction As Chilkat.JsonObject = jsonArray.ObjectAt(j)
Dim transaction As Chilkat.JsonObject = transactions.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")
R("transaction_id") = transaction.StringOf("transaction_id")
'R("purchase_datetime") = transaction.StringOf("purchase_datetime")
'R("partner_haulier_id") = transaction.IntOf("partner_haulier_id")
'R("transaction_net_amount") = transaction.IntOf("transaction_net_amount")
'R("transaction_gross_amount") = transaction.StringOf("transaction_gross_amount")
'R("msts_fee_amount") = transaction.StringOf("msts_fee_amount")
'R("msts_vat_amount") = transaction.StringOf("msts_vat_amount")
'R("total_gross_amount") = transaction.StringOf("total_gross_amount")
R("invoice_number") = transaction.StringOf("invoice_number")
R("invoice_date") = transaction.StringOf("invoice_date")
R("specification_page_id") = transaction.StringOf("specification_page_id")
R("specification_page_name") = transaction.StringOf("specification_page_name")
R("transaction_debit_or_credit") = transaction.StringOf("transaction_debit_or_credit")
R("original_transaction_id") = IIf(transaction.StringOf("original_transaction_id") <> "null", transaction.StringOf("original_transaction_id"), "")
R("original_invoice_number") = IIf(transaction.StringOf("original_invoice_number") <> "null", transaction.StringOf("original_invoice_number"), DBNull.Value)
R("original_invoice_date") = IIf(transaction.StringOf("original_invoice_date") <> "null", transaction.StringOf("original_invoice_date"), "")
R("credit_comment") = IIf(transaction.StringOf("credit_comment") <> "null", transaction.StringOf("credit_comment"), "")
Dim trans = New cMSETransactions(R("transaction_id"))
trans.invoice_number = R("invoice_number")
'trans.invoice_date = CDate(R("invoice_date"))
'trans.specification_page_id = R("specification_page_id")
'trans.specification_page_name = R("specification_page_name")
'trans.transaction_debit_or_credit = R("transaction_debit_or_credit")
'trans.original_transaction_id = IIf(R("original_transaction_id") <> "", R("original_transaction_id"), "")
'trans.original_invoice_number = IIf(Not IsDBNull(R("original_invoice_number")), R("original_invoice_number"), "")
'trans.credit_comment = IIf(R("credit_comment") <> "", R("credit_comment"), "")
'trans.partner_haulier_id = R("partner_haulier_id")
'trans.purchase_datetime = R("purchase_datetime")
'trans.transaction_net_amount = CDbl(R("transaction_net_amount"))
'trans.transaction_gross_amount = CDbl(R("transaction_gross_amount"))
'trans.msts_fee_amount = CDbl(R("msts_fee_amount"))
'trans.msts_vat_amount = CDbl(R("msts_vat_amount"))
'trans.total_gross_amount = CDbl(R("total_gross_amount"))
trans.invoice_number = R("invoice_number")
trans.invoice_date = CDate(R("invoice_date"))
trans.specification_page_id = R("specification_page_id")
trans.specification_page_name = R("specification_page_name")
trans.transaction_debit_or_credit = R("transaction_debit_or_credit")
trans.original_transaction_id = IIf(R("original_transaction_id") <> "", R("original_transaction_id"), "")
trans.original_invoice_number = IIf(Not IsDBNull(R("original_invoice_number")), R("original_invoice_number"), "")
If (R("original_invoice_date") <> "" AndAlso IsDate(R("original_invoice_date"))) Then
trans.original_invoice_date = CDate(R("original_invoice_date"))
Else
trans.original_invoice_date = DBNull.Value
End If
trans.credit_comment = IIf(R("credit_comment") <> "", R("credit_comment"), "")
trans.SAVE()
'Property msts_fee_amount As Object = Nothing
'Property msts_vat_amount As Object = Nothing
'Property total_gross_amount As Object = Nothing
'Property invoice_number As Object = Nothing
'Property invoice_date As Object = Nothing
'Property specification_page_id As Object = Nothing
'Property specification_page_name As Object = Nothing
'Property transaction_debit_or_credit As Object = Nothing
'Property original_transaction_id As Object = Nothing
'Property original_invoice_number As Object = Nothing
'Property original_invoice_date As Object = Nothing
'Property credit_comment As Object = Nothing
'Property batch_seq_nr As Object = Nothing
'R("entry_point_name") = transaction.StringOf("entry_point_name")
'R("entry_datetime") = transaction.DateOf("entry_datetime", New Chilkat.CkDateTime)
'R("exit_point_name") = transaction.StringOf("exit_point_name")
'R("exit_datetime") = transaction.DateOf("exit_datetime", New Chilkat.CkDateTime)
'R("device_product_type") = transaction.StringOf("device_product_type")
'R("device_product_number") = transaction.StringOf("device_product_number")
'R("transaction_product_id") = transaction.IntOf("transaction_product_id")
'R("transaction_product_name") = transaction.StringOf("transaction_product_name")
'R("license_plate_number") = transaction.StringOf("license_plate_number")
'R("vehicle_country") = transaction.IntOf("vehicle_country")
'R("original_currency") = transaction.StringOf("original_currency")
'R("original_net_amount") = transaction.StringOf("original_net_amount")
'R("original_gross_amount") = transaction.IntOf("original_gross_amount")
'R("original_currency") = transaction.StringOf("original_currency")
'R("original_vat_percentage") = transaction.BoolOf("original_vat_percentage")
'R("exempt_amount") = transaction.StringOf("exempt_amount")
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)
End Try
End Function
Public Function getInvoices(jwt As String, dt As DataTable, startDate As Date, end_date As Date) 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.AddQueryParam("start_date", startDate.ToString("yyyy-MM-dd"))
rest.AddQueryParam("end_date", end_date.ToString("yyyy-MM-dd"))
rest.AddHeader("X-API-Key", jwt)
rest.IdleTimeoutMs = 500000
Dim responseJson As String = rest.FullRequestNoBody("GET", "/v1/invoices")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
rest.IdleTimeoutMs = 30000 'defualt
Return "rest.LastErrorText"
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
Return "rest.LastErrorText"
End If
Debug.WriteLine(responseJson)
Dim json As New Chilkat.JsonObject
success = json.Load(responseJson)
If (success <> True) Then
Debug.WriteLine(json.LastErrorText)
End If
Debug.WriteLine(json)
Dim invoices As New Chilkat.JsonArray
invoices = json.ArrayOf("pdf_invoices")
If (json.LastMethodSuccess = False) Then
Debug.WriteLine("pdf_invoices member not found.")
End If
Dim num As Integer = invoices.Size
If num = -1 Then
Return "FEHLER"
End If
Dim j As Integer = 0
If dt IsNot Nothing And Not dt.Columns.Contains("name") Then
dt.Columns.Add("name", GetType(String))
dt.Columns.Add("url", GetType(String))
dt.Columns.Add("total_amount_euro", GetType(String))
dt.Columns.Add("total_vat_amount_euro", GetType(String))
dt.Columns.Add("msts_vat_number", GetType(String))
dt.Columns.Add("invoice_id", GetType(String))
dt.Columns.Add("invoice_date", GetType(String))
While j < num
Dim invoice As Chilkat.JsonObject = invoices.ObjectAt(j)
Dim R As DataRow = dt.NewRow
R("name") = invoice.StringOf("name")
R("url") = invoice.StringOf("url")
R("total_amount_euro") = invoice.StringOf("total_amount_euro")
R("total_vat_amount_euro") = invoice.StringOf("total_vat_amount_euro")
R("msts_vat_number") = invoice.StringOf("msts_vat_number")
R("invoice_id") = invoice.StringOf("invoice_id")
R("invoice_date") = invoice.StringOf("invoice_date")
Dim inv As New cMSEInvoices()
inv.name = R("name")
inv.total_amount_euro = IIf(R("total_amount_euro") = "null", 0, R("total_amount_euro"))
inv.total_vat_amount_euro = IIf(R("total_vat_amount_euro") = "null", 0, R("total_vat_amount_euro"))
inv.msts_vat_number = IIf(R("msts_vat_number") = "null", "", R("msts_vat_number"))
inv.invoice_id = R("invoice_id")
inv.invoice_date = CDate(R("invoice_date"))
inv.SAVE()
dt.Rows.Add(R)
j = j + 1
End While
For Each r As DataRow In dt.Rows
'\\fmzoll\f\FMZoll\MSE\TESTRECHNUNGEN
'\\datenarchiv\Datenarchiv\MDM_SCHNITTSTELLEN\ECHTSYSTEM\Nachrichtendaten_ZIEL\MSE
If r("url") <> "" AndAlso r("name") <> "" AndAlso r("name").contains("VAT") Then 'only VAT-Invoices
VERAG_PROG_ALLGEMEIN.cFormularManager.getPDFViaSpirePDF_FromURLStream(r("url"), r("name"), "\\fmzoll\f\FMZoll\MSE\TESTRECHNUNGEN", False)
End If
Next
dt = dt.DefaultView.ToTable()
@@ -192,4 +562,457 @@ Public Class cMSEAPI
End Function
End Class
Public Sub saveTransactions(num As Integer, dt As DataTable, transactions As Chilkat.JsonArray, receiver As Integer)
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(String))
dt.Columns.Add("original_currency", GetType(String))
dt.Columns.Add("original_net_amount", GetType(Double))
dt.Columns.Add("original_gross_amount", GetType(Double))
dt.Columns.Add("original_vat_percentage", GetType(Double))
dt.Columns.Add("customer_currency", GetType(String))
dt.Columns.Add("transaction_net_amount", GetType(Double))
dt.Columns.Add("transaction_gross_amount", GetType(Double))
dt.Columns.Add("exempt_amount", GetType(Double))
dt.Columns.Add("msts_fee_amount", GetType(Double))
dt.Columns.Add("msts_vat_amount", GetType(Double))
dt.Columns.Add("msts_vat_percentage", GetType(Double))
dt.Columns.Add("total_gross_amount", GetType(Double))
dt.Columns.Add("transaction_status", GetType(String))
dt.Columns.Add("original_transaction_id", GetType(String))
dt.Columns.Add("loading_date", GetType(Date))
dt.Columns.Add("batch_seq_nr", GetType(Integer))
dt.Columns.Add("distance_km", GetType(Double))
While j < num
Dim transaction As Chilkat.JsonObject = transactions.ObjectAt(j)
Dim purchaseDate, entryDate, exitDate, loadingDate As New Chilkat.CkDateTime
Dim getAsLocal As Boolean = False
Dim dateTime As New Chilkat.CkDateTime
Dim R As DataRow = dt.NewRow
R("transaction_id") = transaction.StringOf("transaction_id")
R("partner_haulier_id") = transaction.IntOf("partner_haulier_id")
R("supplier_name") = transaction.StringOf("supplier_name")
R("transaction_country") = transaction.StringOf("transaction_country")
R("transaction_domain") = transaction.StringOf("transaction_domain")
transaction.DateOf("purchase_datetime", purchaseDate)
R("purchase_datetime") = purchaseDate.GetAsTimestamp(getAsLocal)
R("entry_point_name") = transaction.StringOf("entry_point_name")
transaction.DateOf("entry_datetime", entryDate)
R("entry_datetime") = entryDate.GetAsTimestamp(getAsLocal)
R("exit_point_name") = transaction.StringOf("exit_point_name")
transaction.DateOf("exit_datetime", exitDate)
R("exit_datetime") = exitDate.GetAsTimestamp(getAsLocal)
R("device_product_type") = transaction.StringOf("device_product_type")
R("device_product_number") = transaction.StringOf("device_product_number")
R("transaction_product_id") = transaction.IntOf("transaction_product_id")
R("transaction_product_name") = transaction.StringOf("transaction_product_name")
R("license_plate_number") = transaction.StringOf("license_plate_number")
R("vehicle_country") = IIf(transaction.StringOf("vehicle_country") = "null", "", transaction.StringOf("vehicle_country"))
R("original_currency") = transaction.StringOf("original_currency")
R("original_net_amount") = CDbl(transaction.StringOf("original_net_amount"))
R("original_gross_amount") = CDbl(transaction.StringOf("original_gross_amount"))
R("original_vat_percentage") = CDbl(IIf(transaction.StringOf("original_vat_percentage") = "null", 0, transaction.StringOf("original_vat_percentage")))
R("transaction_net_amount") = CDbl(transaction.StringOf("transaction_net_amount"))
R("transaction_gross_amount") = CDbl(transaction.StringOf("transaction_gross_amount"))
R("exempt_amount") = CDbl(transaction.StringOf("exempt_amount"))
R("msts_fee_amount") = CDbl(transaction.StringOf("msts_fee_amount"))
R("msts_vat_amount") = CDbl(transaction.StringOf("msts_vat_amount"))
R("msts_vat_percentage") = CDbl(transaction.StringOf("msts_vat_percentage"))
R("total_gross_amount") = CDbl(transaction.StringOf("total_gross_amount"))
R("transaction_status") = transaction.StringOf("transaction_status")
transaction.DateOf("loading_date", loadingDate)
R("loading_date") = CDate(loadingDate.GetAsTimestamp(getAsLocal))
R("batch_seq_nr") = transaction.StringOf("batch_seq_nr")
'R("distance_km") = transaction.StringOf("distance_km")
If CDate(R("purchase_datetime")) >= "01.07.2024" Then
Dim trans As New cMSETransactions()
trans.transaction_id = R("transaction_id")
trans.controller_id = receiver
trans.partner_haulier_id = R("partner_haulier_id")
trans.supplier_name = R("supplier_name")
trans.transaction_country = R("transaction_country")
trans.transaction_domain = R("transaction_domain")
trans.purchase_datetime = purchaseDate.GetAsDateTime(getAsLocal)
trans.entry_point_name = R("entry_point_name")
trans.entry_datetime = entryDate.GetAsDateTime(getAsLocal)
trans.exit_point_name = R("exit_point_name")
trans.exit_datetime = exitDate.GetAsDateTime(getAsLocal)
trans.device_product_type = R("device_product_type")
trans.device_product_number = R("device_product_number")
trans.transaction_product_id = R("transaction_product_id")
trans.transaction_product_name = R("transaction_product_name")
trans.license_plate_number = R("license_plate_number")
trans.vehicle_country = R("vehicle_country")
trans.original_currency = R("original_currency")
trans.original_net_amount = R("original_net_amount")
trans.original_gross_amount = R("original_gross_amount")
trans.original_vat_percentage = R("original_vat_percentage")
trans.transaction_net_amount = CDbl(R("transaction_net_amount"))
trans.transaction_gross_amount = CDbl(R("transaction_gross_amount"))
trans.msts_fee_amount = CDbl(R("msts_fee_amount"))
trans.msts_vat_amount = CDbl(R("msts_vat_amount"))
trans.total_gross_amount = CDbl(R("total_gross_amount"))
trans.transaction_status = R("transaction_status")
trans.loading_date = CDate(loadingDate.GetAsDateTime(getAsLocal))
trans.batch_seq_nr = R("batch_seq_nr")
'trans.distance_km = CDbl(R("distance_km"))
trans.SAVE()
End If
dt.Rows.Add(R)
j = j + 1
End While
dt = dt.DefaultView.ToTable()
End If
End Sub
End Class
Public Class cMSEInvoices
Property id As Integer
Property name As Object = Nothing
Property total_amount_euro As Object = Nothing
Property total_vat_amount_euro As Object = Nothing
Property msts_vat_number As Object = Nothing
Property invoice_id As Object = Nothing
Property invoice_date As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(name, invoice_id)
Me.name = name
Me.invoice_id = invoice_id
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_id", rmc_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("name", name))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("total_amount_euro", total_amount_euro))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("total_vat_amount_euro", total_vat_amount_euro))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_vat_number", msts_vat_number))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_id", invoice_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_date", invoice_date))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMSEInvoices WHERE name=@name AND invoice_id = @invoice_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblMSEInvoices WHERE name=@name AND invoice_id = @invoice_id", conn)
cmd.Parameters.AddWithValue("@name", name)
cmd.Parameters.AddWithValue("@invoice_id", invoice_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE tblMSEInvoices SET " & str & " WHERE name=@name AND invoice_id = @invoice_id ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblMSEInvoices (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class
Public Class cMSETransactions
Property transaction_id As Object = Nothing
Property controller_id As Integer
Property partner_haulier_id As Object = Nothing
Property supplier_name As Object = Nothing
Property transaction_country As Object = Nothing
Property transaction_domain As Object = Nothing
Property purchase_datetime As Object = Nothing
Property entry_point_name As Object = Nothing
Property entry_datetime As Object = Nothing
Property exit_point_name As Object = Nothing
Property exit_datetime As Object = Nothing
Property device_product_type As Object = Nothing
Property device_product_number As Object = Nothing
Property transaction_product_id As Object = Nothing
Property transaction_product_name As Object = Nothing
Property license_plate_number As Object = Nothing
Property vehicle_country As Object = Nothing
Property original_currency As Object = Nothing
Property original_net_amount As Object = Nothing
Property original_gross_amount As Object = Nothing
Property original_vat_percentage As Object = Nothing
Property customer_currency As Object = Nothing
Property transaction_net_amount As Object = Nothing
Property transaction_gross_amount As Object = Nothing
Property exempt_amount As Object = Nothing
Property msts_fee_amount As Object = Nothing
Property msts_vat_amount As Object = Nothing
Property msts_vat_percentage As Object = Nothing
Property total_gross_amount As Object = Nothing
Property transaction_status As Object = Nothing
Property loading_date As Object = Nothing
Property batch_seq_nr As Object = Nothing
Property distance_km As Object = Nothing
Property invoice_number As Object = Nothing
Property invoice_date As Object = Nothing
Property specification_page_id As Object = Nothing
Property specification_page_name As Object = Nothing
Property transaction_debit_or_credit As Object = Nothing
Property original_transaction_id As Object = Nothing
Property original_invoice_number As Object = Nothing
Property original_invoice_date As Object = Nothing
Property credit_comment As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(transaction_id)
Me.transaction_id = transaction_id
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_id", transaction_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("controller_id", controller_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("partner_haulier_id", partner_haulier_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("supplier_name", supplier_name))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_country", transaction_country))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_domain", transaction_domain))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("purchase_datetime", purchase_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("entry_point_name", entry_point_name))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("entry_datetime", entry_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exit_point_name", exit_point_name))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exit_datetime", exit_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("device_product_type", device_product_type))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("device_product_number", device_product_number))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_product_id", transaction_product_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_product_name", transaction_product_name))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("license_plate_number", license_plate_number))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vehicle_country", vehicle_country))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_currency", original_currency))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_net_amount", original_net_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_gross_amount", original_gross_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_vat_percentage", original_vat_percentage))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("customer_currency", customer_currency))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_net_amount", transaction_net_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_gross_amount", transaction_gross_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exempt_amount", exempt_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_fee_amount", msts_fee_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_vat_amount", msts_vat_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("msts_vat_percentage", msts_vat_percentage))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("total_gross_amount", total_gross_amount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_status", transaction_status))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("loading_date", loading_date))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("batch_seq_nr", batch_seq_nr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("distance_km", distance_km))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_number", invoice_number))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("invoice_date", invoice_date))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("specification_page_id", specification_page_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("specification_page_name", specification_page_name))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transaction_debit_or_credit", transaction_debit_or_credit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_transaction_id", original_transaction_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_invoice_number", original_invoice_number))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("original_invoice_date", original_invoice_date))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("credit_comment", credit_comment))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMSETransactions WHERE transaction_id=@transaction_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblMSETransactions WHERE transaction_id=@transaction_id", conn)
cmd.Parameters.AddWithValue("@transaction_id", transaction_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE tblMSETransactions SET " & str & " WHERE transaction_id=@transaction_id")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblMSETransactions (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class