1238 lines
57 KiB
VB.net
1238 lines
57 KiB
VB.net
Imports System.Data.SqlClient
|
|
Imports System.IO
|
|
Imports System.Reflection
|
|
Imports System.Security.Cryptography
|
|
Imports com.itextpdf.text.pdf
|
|
Imports DocumentFormat.OpenXml.VariantTypes
|
|
Imports RoutineManager.cAsfinag
|
|
|
|
Public Class cAsfinag
|
|
|
|
Public Class CLFHeader
|
|
|
|
Property PKFileName As Object = Nothing
|
|
Property recordType As String
|
|
Property fileVersion As Integer
|
|
Property fileNumber As Integer
|
|
Property indcator As Object = Nothing
|
|
Property senderID As Object = Nothing
|
|
Property receiverID As Object = Nothing
|
|
Property fileCreationDate As DateTime
|
|
Property fileCreationTime As DateTime
|
|
Property ISOCountryCode As Object = Nothing
|
|
Property creationName As Object = Nothing
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Sub New(PKFileName, fileNumber)
|
|
Me.PKFileName = PKFileName
|
|
Me.fileNumber = fileNumber
|
|
LOAD()
|
|
End Sub
|
|
|
|
Sub New()
|
|
|
|
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("PKFileName", PKFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("indcator", indcator))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("senderID", senderID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiverID", receiverID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileCreationDate", fileCreationDate))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileCreationTime", fileCreationTime))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ISOCountryCode", ISOCountryCode))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("creationName", creationName))
|
|
|
|
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 CLFHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber) " &
|
|
" BEGIN " & getUpdateCmd() & " End " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " End " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
|
|
End Function
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
hasEntry = False
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
|
|
Using cmd As New SqlCommand("Select * FROM CLFHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber", conn)
|
|
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
|
|
cmd.Parameters.AddWithValue("@filenumber", fileNumber)
|
|
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
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 [CLFHeader] SET " & str & " WHERE PKFileName=@PKFileName ")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 CLFHeader (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
End Class
|
|
|
|
Public Class CLFBody
|
|
|
|
Property PKFileName As Object = Nothing
|
|
Property RecordType As String
|
|
Property fileVersion As Integer
|
|
Property fileNumber As Integer
|
|
Property cardNumber As String
|
|
Property validTo As Integer
|
|
Property OBUID As Object = Nothing
|
|
Property vehicleLicensePlate As Object = Nothing
|
|
Property nationality As Object = Nothing
|
|
Property vehicleCategory As Object = Nothing
|
|
Property emissionCategory As Object = Nothing
|
|
Property status As Object = Nothing
|
|
Property contractDate As Object = Nothing
|
|
Property PKLine As Long
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Sub New(PKFileName, PKLine)
|
|
Me.PKFileName = PKFileName
|
|
Me.PKLine = PKLine
|
|
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("PKFileName", PKFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKLine", PKLine))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RecordType", RecordType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("cardNumber", cardNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("validTo", validTo))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBUID", OBUID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vehicleLicensePlate", vehicleLicensePlate))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nationality", nationality))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vehicleCategory", vehicleCategory))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("emissionCategory", emissionCategory))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("status", status))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("contractDate", contractDate))
|
|
|
|
|
|
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 CLFBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine) " &
|
|
" BEGIN " & getUpdateCmd() & " End " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " End " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
|
|
End Function
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
hasEntry = False
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
|
|
Using cmd As New SqlCommand("Select * FROM CLFBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine ", conn)
|
|
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
|
|
cmd.Parameters.AddWithValue("@PKLine", PKLine)
|
|
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
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 [CLFBody] SET " & str & " WHERE PKFileName=@PKFileName AND PKLine = @PKLine ")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 CLFBody (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
End Class
|
|
|
|
Public Class CLFTrailer
|
|
|
|
Property PKFileName As Object = Nothing
|
|
Property recordType As String
|
|
Property fileVersion As Integer
|
|
Property fileNumber As Integer
|
|
Property recordCount As Integer
|
|
|
|
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Sub New(PKFileName)
|
|
Me.PKFileName = PKFileName
|
|
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("PKFileName", PKFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordCount", recordCount))
|
|
|
|
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 CLFTrailer WHERE PKFileName=@PKFileName) " &
|
|
" BEGIN " & getUpdateCmd() & " End " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " End " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
|
|
End Function
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
hasEntry = False
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
|
|
Using cmd As New SqlCommand("Select * FROM CLFTrailer WHERE PKFileName=@PKFileName", conn)
|
|
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
|
|
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
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 [CLFTrailer] SET " & str & " WHERE PKFileName=@PKFileName")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 CLFTrailer (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
|
|
End Class
|
|
|
|
|
|
Public Class TTRHeader
|
|
|
|
Property PKFileName As Object = Nothing
|
|
Property recordType As Integer
|
|
Property fileVersion As Integer
|
|
Property fileNumber As Integer
|
|
Property senderID As Object = Nothing
|
|
Property receiverID As Object = Nothing
|
|
Property fileCreationDate As DateTime
|
|
Property fileCreationTime As DateTime
|
|
Property ISOCountryCode As Object = Nothing
|
|
Property description As Object = Nothing
|
|
Property currencyCode As Object = Nothing
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Sub New(PKFileName, filenummer)
|
|
Me.PKFileName = PKFileName
|
|
Me.fileNumber = filenummer
|
|
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("PKFileName", PKFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("senderID", senderID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiverID", receiverID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileCreationDate", fileCreationDate))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileCreationTime", fileCreationTime))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ISOCountryCode", ISOCountryCode))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("description", description))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("currencyCode", currencyCode))
|
|
|
|
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 TTRHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber) " &
|
|
" BEGIN " & getUpdateCmd() & " End " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " End " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
|
|
End Function
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
hasEntry = False
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
|
|
Using cmd As New SqlCommand("Select * FROM TTRHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber ", conn)
|
|
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
|
|
cmd.Parameters.AddWithValue("@fileNumber", fileNumber)
|
|
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
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 [TTRHeader] SET " & str & " WHERE PKFileName=@PKFileName AND filenumber = @filenumber")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 TTRHeader (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
End Class
|
|
|
|
Public Class TTRBody
|
|
|
|
Property PKFileName As Object = Nothing
|
|
Property recordType As Integer
|
|
Property fileVersion As Integer
|
|
Property siteId As String
|
|
Property fileNumber As Integer
|
|
Property cardNumber As String
|
|
Property fileCreationDate As Date
|
|
Property deliveryNoteNumber As Integer
|
|
Property deliveryDate As Date
|
|
Property deliveryTime As Date
|
|
Property transactionType As Integer
|
|
Property productCode As Integer
|
|
Property productQuantity As Double
|
|
Property amountInclVAT As Double
|
|
Property VATrate As Double
|
|
Property VATamount As Double
|
|
Property PKLine As Integer
|
|
Property km As Integer
|
|
Property driverId As Integer
|
|
Property receiptNumber As String
|
|
Property OBUID As String
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Sub New()
|
|
|
|
End Sub
|
|
|
|
Sub New(PKFileName, PKLine)
|
|
Me.PKFileName = PKFileName
|
|
Me.PKLine = PKLine
|
|
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("PKFileName", PKFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKLine", PKLine))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("siteId", siteId))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileCreationDate", fileCreationDate))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("deliveryNoteNumber", deliveryNoteNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("cardNumber", cardNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("deliveryDate", deliveryDate))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("deliveryTime", deliveryTime))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("transactionType", transactionType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("productCode", productCode))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("km", km))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("driverId", driverId))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("productQuantity", productQuantity))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("amountInclVAT", amountInclVAT))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VATrate", VATrate))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VATamount", VATamount))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiptNumber", receiptNumber))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBUID", OBUID))
|
|
|
|
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 TTRBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine) " &
|
|
" BEGIN " & getUpdateCmd() & " End " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " End " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
|
|
End Function
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
hasEntry = False
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
|
|
Using cmd As New SqlCommand("Select * FROM TTRBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine ", conn)
|
|
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
|
|
cmd.Parameters.AddWithValue("@PKLine", PKLine)
|
|
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
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 [TTRBody] SET " & str & " WHERE PKFileName=@PKFileName AND PKLine = @PKLine ")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 TTRBody (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
End Class
|
|
|
|
Public Class TTRTrailer
|
|
|
|
Property PKFileName As Object = Nothing
|
|
Property recordType As Integer
|
|
Property fileVersion As Integer
|
|
Property recordCount As Integer
|
|
Property checksumProductQuantity As Double
|
|
Property checksumAmounntInclVAT As Double
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Sub New(PKFileName)
|
|
Me.PKFileName = PKFileName
|
|
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("PKFileName", PKFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordCount", recordCount))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("checksumProductQuantity", checksumProductQuantity))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("checksumAmounntInclVAT", checksumAmounntInclVAT))
|
|
|
|
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 TTRTrailer WHERE PKFileName=@PKFileName) " &
|
|
" BEGIN " & getUpdateCmd() & " End " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " End " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
|
|
End Function
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
hasEntry = False
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
|
|
Using cmd As New SqlCommand("Select * FROM TTRTrailer WHERE PKFileName=@PKFileName", conn)
|
|
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
|
|
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
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 [TTRTrailer] SET " & str & " WHERE PKFileName=@PKFileName")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
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 TTRTrailer (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
|
|
End Class
|
|
|
|
Public Class Paramter
|
|
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Shared Function GET_PARAM_ByName(tcParam_name, TESTSYSTEM) As String
|
|
Return SQL.getValueTxtBySql("SELECT TOP 1 [Param_value] FROM [tblPartnersystem_Paramter] WHERE Param_system='ASFINAG' AND [Param_name]='" & tcParam_name & "'", , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM))
|
|
End Function
|
|
End Class
|
|
|
|
|
|
Shared Function fktMod10Prüfziffer(strNummer As String) As String
|
|
' Der Funktion wird im Feld strNummer der Wert ohne Prüfziffer übergeben.
|
|
' Die Funktion berechnet und liefert die Prüfziffer zurück.
|
|
|
|
Dim intIX As Integer
|
|
Dim intZSum As Integer
|
|
Dim intSum As Integer
|
|
Dim boo1 As Boolean
|
|
|
|
For intIX = Len(strNummer) To 1 Step -1
|
|
intZSum = IIf(boo1, Mid(strNummer, intIX, 1) * 1, Mid(strNummer, intIX, 1) * 2)
|
|
If intZSum < 10 Then
|
|
intSum = intSum + intZSum
|
|
Else
|
|
intSum = intSum + ((intZSum Mod 10) + ((intZSum - (intZSum Mod 10)) / 10))
|
|
End If
|
|
boo1 = Not boo1
|
|
Next intIX
|
|
|
|
fktMod10Prüfziffer = CStr((10 - (intSum Mod 10)) Mod 10)
|
|
|
|
End Function
|
|
|
|
Public Class Exportist
|
|
|
|
Structure Header ' Format Muss von bis Kommentar
|
|
Dim SortField As String ' N3 Y 1 3 "000"
|
|
Dim RecordID As String ' N2 Y 4 5 "00"
|
|
Dim FileName As String ' C3 Y 6 8 "TBL"
|
|
Dim LiveTestIndicator As String ' C1 Y 9 9 "L" oder "T"
|
|
Dim FileCreationDate As String ' N8 Y 10 17 YYYYMMDD
|
|
Dim FileCreationTime As String ' N4 Y 18 21 HHMM (24hr)
|
|
Dim RunNumber As String ' N3 Y 22 24 Laufende Nummer pro File-Type
|
|
Dim SenderID As String ' C2 Y 25 26 "VG"
|
|
Dim ReceiverID As String ' C2 Y 27 28 "EP"
|
|
Dim Filler As String ' C3 Y 29 31 Leerzeichen
|
|
End Structure
|
|
|
|
Structure Body ' Format Muss von bis Kommentar
|
|
Dim SortField As String ' N3 Y 1 3 "000"
|
|
Dim RecordID As String ' N2 Y 4 5 "50"
|
|
Dim ISOCountryCode As String ' N3 Y 6 8 "040" (Österreich)
|
|
Dim CardNumber As String ' C22 Y 9 30 Komplette Tankkartennummer
|
|
'onlyBlacklist
|
|
Dim StopType As String ' N1 Y 31 31 "3" Stopped for Post-Pay
|
|
'only Whitelist
|
|
Dim ValidFrom As String ' N8 Y 31 38 YYYYMMDD
|
|
Dim ValidTo As String ' N8 Y 39 46 YYYYMMDD
|
|
Dim NewCardNumber As String ' N22 N 47 68 Tankkartennummer der Folge- oder Ersatzkarte
|
|
Dim NewValidFrom As String ' N8 N 69 76 YYYYMMDD der Folge- oder Ersatzkarte
|
|
Dim NewValidTo As String
|
|
End Structure
|
|
|
|
Private Structure Trailer ' Format Muss von bis Kommentar
|
|
Dim SortField As String ' N3 Y 1 3 "999"
|
|
Dim RecordID As String ' N2 Y 4 5 "99"
|
|
Dim FileName As String ' C3 Y 6 8 "TBL"
|
|
Dim RunNumber As String ' N3 Y 9 11 Gleiche Nr. wie im Header
|
|
Dim RecordCount As String ' N7 Y 12 18 Anzahl der Sätze inkl. Header und Trailer
|
|
Dim Filler As String ' C13 Y 19 31 Leerzeichen
|
|
End Structure
|
|
|
|
|
|
|
|
' Private Type TWLHeader ' Format Muss von bis Kommentar
|
|
' SortField As String * 3 ' N3 Y 1 3 "000"
|
|
' RecordID As String * 2 ' N2 Y 4 5 "00"
|
|
' FileName As String * 3 ' C3 Y 6 8 "TWL"
|
|
' LiveTestIndicator As String * 1 ' C1 Y 9 9 "L" oder "T"
|
|
' FileCreationDate As String * 8 ' N8 Y 10 17 YYYYMMDD
|
|
' FileCreationTime As String * 4 ' N4 Y 18 21 HHMM (24hr)
|
|
' RunNumber As String * 3 ' N3 Y 22 24 Laufende Nummer pro File-Type
|
|
' SenderID As String * 2 ' C2 Y 25 26 "VG"
|
|
' ReceiverID As String * 2 ' C2 Y 27 28 "EP"
|
|
' Filler As String * 56 ' C56 Y 29 84 Leerzeichen
|
|
'End Type
|
|
|
|
'Private Type TWLBody ' Format Muss von bis Kommentar
|
|
' SortField As String * 3 ' N3 Y 1 3 "000"
|
|
' RecordID As String * 2 ' N2 Y 4 5 "40"
|
|
' ISOCountryCode As String * 3 ' N3 Y 6 8 "040" (Österreich)
|
|
' CardNumber As String * 22 ' N22 Y 9 30 Komplette Tankkartennummer
|
|
' ValidFrom As String * 8 ' N8 Y 31 38 YYYYMMDD
|
|
' ValidTo As String * 8 ' N8 Y 39 46 YYYYMMDD
|
|
' NewCardNumber As String * 22 ' N22 N 47 68 Tankkartennummer der Folge- oder Ersatzkarte
|
|
' NewValidFrom As String * 8 ' N8 N 69 76 YYYYMMDD der Folge- oder Ersatzkarte
|
|
' NewValidTo As String * 8 ' N8 N 77 84 YYYYMMDD der Folge- oder Ersatzkarte
|
|
'End Type
|
|
|
|
'Private Type TWLTrailer ' Format Muss von bis Kommentar
|
|
' SortField As String * 3 ' N3 Y 1 3 "999"
|
|
' RecordID As String * 2 ' N2 Y 4 5 "99"
|
|
' FileName As String * 3 ' C3 Y 6 8 "TWL"
|
|
' RunNumber As String * 3 ' N3 Y 9 11 Gleiche Nr. wie im Header
|
|
' RecordCount As String * 7 ' N7 Y 12 18 Anzahl der Sätze inkl. Header und Trailer
|
|
' Filler As String * 66 ' C66 Y 19 84 Leerzeichen
|
|
'End Type
|
|
|
|
|
|
|
|
Dim ASFINAG_PFAD, FTP_PFAD_TEST, FTP_PFAD
|
|
Dim sw As StreamWriter
|
|
Dim Dateiname = ""
|
|
|
|
Public Function initPFad()
|
|
|
|
ASFINAG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("BEREITSTELLUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
|
FTP_PFAD_TEST = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_Out_Test", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
|
FTP_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_Out", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
|
|
|
If Not IO.Directory.Exists(ASFINAG_PFAD) Then IO.Directory.CreateDirectory(ASFINAG_PFAD)
|
|
If Not IO.Directory.Exists(FTP_PFAD_TEST) Then IO.Directory.CreateDirectory(FTP_PFAD_TEST)
|
|
|
|
|
|
|
|
End Function
|
|
|
|
Public Function exportiereBlackList() As Boolean
|
|
|
|
Dim fileName = "TBL"
|
|
Dim sucess = False
|
|
Dim Header As Header
|
|
Dim Body As Body
|
|
Dim Trailer As Trailer
|
|
Dim intRunNumber As Integer = 1
|
|
Dim lngAnzahlSätze As Long
|
|
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
'qryExportiereBlackList
|
|
Dim sqlstr As String = "
|
|
SELECT Kreditkarten.KartenNr AS CardNumber, Kreditkarten.Kartensperre AS StopType FROM Kreditkarten
|
|
LEFT JOIN Kreditkarten AS Kreditkarten_1 ON Kreditkarten.NeueKartenNr = Kreditkarten_1.KartenNr
|
|
WHERE Kreditkarten.Kartensperre > 0
|
|
AND ((Kreditkarten.Kartensperrdatum)<=GETDATE())
|
|
AND ((Left([Kreditkarten].[KartenNr],6))='990001')
|
|
AND [Kreditkarten].[Kartenfreischaltungsdatum] <= GETDATE()
|
|
And [Kreditkarten].[Kartenfreischaltungsdatum] <> ''
|
|
AND DateAdd(DAY, -1, DateAdd(MONTH,1,DATEFROMPARTS(2000 + [Kreditkarten].[Kartenablaufjahr],[Kreditkarten].[Kartenablaufmonat],1))) >= GETDATE()
|
|
AND DateAdd(DAY, -1, DateAdd(MONTH,1,DATEFROMPARTS(2000 + [Kreditkarten].[Kartenablaufjahr],[Kreditkarten].[Kartenablaufmonat],1))) <> ''
|
|
AND (Kreditkarten_1.Kartenfreischaltungsdatum) Is Null Or (Kreditkarten_1.Kartenfreischaltungsdatum) > GETDATE()
|
|
ORDER BY Kreditkarten.KartenNr"
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'qry_ASFINAG_FileInfo_TBL
|
|
Dim currentFileNr As Integer = SQL.getValueTxtBySql("SELECT fileVersion FROM [FileINfo] where [filename]='" & fileName & "'", "ASFINAG")
|
|
If currentFileNr = 999 Then currentFileNr = 0
|
|
currentFileNr = currentFileNr + 1
|
|
Dim preFilename As String = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
preFilename = "LVGEP"
|
|
Else
|
|
preFilename = "TVGEP"
|
|
End If
|
|
|
|
Dim strFile As String = ASFINAG_PFAD & "\" & preFilename & fileName & "." & currentFileNr
|
|
|
|
Try
|
|
|
|
|
|
'Dim fileExists As Boolean = File.Exists(ASFINAG_PFAD & "\" & strFile)
|
|
|
|
Using sw As New StreamWriter(File.Open(strFile, FileMode.OpenOrCreate))
|
|
|
|
|
|
With Header
|
|
.SortField = "000"
|
|
.RecordID = "00"
|
|
.FileName = fileName
|
|
.LiveTestIndicator = "L" 'T für Testfile, L Livesystem
|
|
.FileCreationDate = Today.ToString("yyyymmdd")
|
|
.FileCreationTime = Now().ToString("hhmm")
|
|
.RunNumber = Format(currentFileNr, "000")
|
|
.SenderID = "VG"
|
|
.ReceiverID = "EP"
|
|
.Filler = New String(" ", 3)
|
|
sw.Write(Header.SortField)
|
|
sw.Write(Header.RecordID)
|
|
sw.Write(Header.FileName)
|
|
sw.Write(Header.LiveTestIndicator)
|
|
sw.Write(Header.FileCreationDate)
|
|
sw.Write(Header.FileCreationTime)
|
|
sw.Write(Header.RunNumber)
|
|
sw.Write(Header.SenderID)
|
|
sw.Write(Header.ReceiverID)
|
|
sw.Write(Header.Filler)
|
|
sw.WriteLine()
|
|
End With
|
|
|
|
lngAnzahlSätze = 1
|
|
For Each row As DataRow In dt.Rows
|
|
|
|
lngAnzahlSätze = lngAnzahlSätze + 1
|
|
With Body
|
|
.SortField = "000"
|
|
.RecordID = "50"
|
|
.ISOCountryCode = "040"
|
|
.CardNumber = row.Item("CardNumber") + New String(" ", 22 - Len(row.Item("CardNumber")))
|
|
.StopType = row.Item("StopType")
|
|
sw.Write(Body.SortField)
|
|
sw.Write(Body.RecordID)
|
|
sw.Write(Body.ISOCountryCode)
|
|
sw.Write(Body.CardNumber)
|
|
sw.Write(Body.StopType)
|
|
sw.WriteLine()
|
|
End With
|
|
Next
|
|
|
|
lngAnzahlSätze = lngAnzahlSätze + 1
|
|
With Trailer
|
|
.SortField = "999"
|
|
.RecordID = "99"
|
|
.FileName = "TBL"
|
|
.RunNumber = Format(currentFileNr, "000")
|
|
.RecordCount = Format(lngAnzahlSätze, "0000000")
|
|
.Filler = New String(" ", 13)
|
|
sw.Write(Trailer.SortField)
|
|
sw.Write(Trailer.RecordID)
|
|
sw.Write(Trailer.FileName)
|
|
sw.Write(Trailer.RunNumber)
|
|
sw.Write(Trailer.RecordCount)
|
|
sw.Write(Trailer.Filler)
|
|
sw.WriteLine()
|
|
End With
|
|
sw.Close()
|
|
|
|
SQL.doSQL("UPDATE [dbo].[FileINfo] SET FileVersion=" & currentFileNr & " WHERE [filename]='" & fileName & "'", "ASFINAG")
|
|
MsgBox("Files uploaded: " & uploadListToFTP(fileName))
|
|
Return True
|
|
|
|
End Using
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function exportiereWhiteList() As Boolean
|
|
|
|
Dim fileName = "TWL"
|
|
Dim sucess = False
|
|
Dim Header As Header
|
|
Dim Body As Body
|
|
Dim Trailer As Trailer
|
|
Dim intRunNumber As Integer = 1
|
|
Dim lngAnzahlSätze As Long
|
|
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
'qryExportiereWhiteList
|
|
Dim sqlstr As String = "
|
|
SELECT Kreditkarten.KartenNr AS CardNumber,
|
|
CONVERT(varchar, [Kreditkarten].[Kartenfreischaltungsdatum],112) AS ValidFrom,
|
|
CONVERT(varchar,DateAdd(DAY, -1, DateAdd(MONTH,1,DATEFROMPARTS(2000 + [Kreditkarten].[Kartenablaufjahr],[Kreditkarten].[Kartenablaufmonat],1))),112) AS ValidTo,
|
|
Kreditkarten_1.KartenNr AS NewCardNumber,
|
|
IIf(Not IsNull(Kreditkarten_1.KartenNr,0) <> 0 ,CONVERT(varchar,[Kreditkarten_1].[Kartenfreischaltungsdatum],112),'') AS NewValidFrom,
|
|
IIf(Not IsNull(Kreditkarten_1.KartenNr,0) <> 0,CONVERT(varchar, DateAdd(DAY, -1, DateAdd(MONTH,1,DATEFROMPARTS(2000 + [Kreditkarten].[Kartenablaufjahr],[Kreditkarten].[Kartenablaufmonat],1))),112),'') AS NewValidTo,
|
|
Kreditkarten.NeueKartenNrGemeldet
|
|
FROM Kreditkarten AS Kreditkarten_1
|
|
RIGHT JOIN Kreditkarten ON Kreditkarten_1.KartenNr = Kreditkarten.NeueKartenNr
|
|
WHERE (([Kreditkarten].[Kartenfreischaltungsdatum])<= GETDATE() And ([Kreditkarten].[Kartenfreischaltungsdatum] <>'')
|
|
AND DateAdd(DAY, -1, DateAdd(MONTH,1,DATEFROMPARTS(2000 + [Kreditkarten].[Kartenablaufjahr],[Kreditkarten].[Kartenablaufmonat],1))) >= GETDATE()
|
|
AND ((Kreditkarten_1.KartenNr) Is Null)) OR (((Kreditkarten_1.KartenNr) Is Not Null) AND ((Kreditkarten.NeueKartenNrGemeldet)= 0))
|
|
ORDER BY Kreditkarten.KartenNr, [Kreditkarten].[Kartenfreischaltungsdatum], CONVERT(varchar, DateAdd(DAY, -1, DateAdd(MONTH,1,DATEFROMPARTS(2000 + [Kreditkarten].[Kartenablaufjahr],[Kreditkarten].[Kartenablaufmonat],1))))
|
|
"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'qry_ASFINAG_FileInfo_TWL
|
|
Dim currentFileNr As Integer = SQL.getValueTxtBySql("SELECT fileVersion FROM [FileINfo] where [filename]='" & fileName & "'", "ASFINAG")
|
|
If currentFileNr = 999 Then currentFileNr = 0
|
|
currentFileNr = currentFileNr + 1
|
|
Dim preFilename As String = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
preFilename = "LVGEP"
|
|
Else
|
|
preFilename = "TVGEP"
|
|
End If
|
|
|
|
Dim strFile As String = ASFINAG_PFAD & "\" & preFilename & fileName & "." & currentFileNr
|
|
|
|
Try
|
|
|
|
|
|
Using sw As New StreamWriter(File.Open(strFile, FileMode.OpenOrCreate))
|
|
|
|
|
|
With Header
|
|
.SortField = "000"
|
|
.RecordID = "00"
|
|
.FileName = fileName
|
|
.LiveTestIndicator = "L" 'T für Testfile, L Livesystem
|
|
.FileCreationDate = Today.ToString("yyyymmdd")
|
|
.FileCreationTime = Now().ToString("hhmm")
|
|
.RunNumber = Format(currentFileNr, "000")
|
|
.SenderID = "VG"
|
|
.ReceiverID = "EP"
|
|
.Filler = New String(" ", 56)
|
|
sw.Write(Header.SortField)
|
|
sw.Write(Header.RecordID)
|
|
sw.Write(Header.FileName)
|
|
sw.Write(Header.LiveTestIndicator)
|
|
sw.Write(Header.FileCreationDate)
|
|
sw.Write(Header.FileCreationTime)
|
|
sw.Write(Header.RunNumber)
|
|
sw.Write(Header.SenderID)
|
|
sw.Write(Header.ReceiverID)
|
|
sw.Write(Header.Filler)
|
|
sw.WriteLine()
|
|
End With
|
|
|
|
lngAnzahlSätze = 1
|
|
For Each row As DataRow In dt.Rows
|
|
|
|
lngAnzahlSätze = lngAnzahlSätze + 1
|
|
With Body
|
|
If Not IsDBNull(row.Item("NewCardNumber")) Then
|
|
If Not row.Item("NeueKartenNrGemeldet") Then
|
|
|
|
lngAnzahlSätze = lngAnzahlSätze + 1
|
|
.SortField = "000"
|
|
.RecordID = "40"
|
|
.ISOCountryCode = "040"
|
|
.CardNumber = row.Item("CardNumber") + New String(" ", 22 - Len(row.Item("CardNumber")))
|
|
.ValidFrom = row.Item("ValidFrom")
|
|
.ValidTo = row.Item("ValidTo")
|
|
.NewCardNumber = row.Item("NewCardNumber") + New String(" ", 22 - Len(row.Item("NewCardNumber")))
|
|
.NewValidFrom = row.Item("NewValidFrom")
|
|
.NewValidTo = row.Item("NewValidTo")
|
|
sw.Write(.SortField)
|
|
sw.Write(.RecordID)
|
|
sw.Write(.ISOCountryCode)
|
|
sw.Write(.CardNumber)
|
|
sw.Write(.ValidFrom)
|
|
sw.Write(.ValidTo)
|
|
sw.Write(.NewCardNumber)
|
|
sw.Write(.NewValidFrom)
|
|
sw.Write(.NewValidTo)
|
|
sw.WriteLine()
|
|
row.Item("NeueKartenNrGemeldet") = True
|
|
End If
|
|
Else
|
|
lngAnzahlSätze = lngAnzahlSätze + 1
|
|
.SortField = "000"
|
|
.RecordID = "40"
|
|
.ISOCountryCode = "040"
|
|
.CardNumber = row.Item("CardNumber") + New String(" ", 22 - Len(row.Item("CardNumber")))
|
|
.ValidFrom = row.Item("ValidFrom")
|
|
.ValidTo = row.Item("ValidTo")
|
|
.NewCardNumber = "0000000000000000000000"
|
|
.NewValidFrom = "00000000"
|
|
.NewValidTo = "00000000"
|
|
sw.Write(.SortField)
|
|
sw.Write(.RecordID)
|
|
sw.Write(.ISOCountryCode)
|
|
sw.Write(.CardNumber)
|
|
sw.Write(.ValidFrom)
|
|
sw.Write(.ValidTo)
|
|
sw.Write(.NewCardNumber)
|
|
sw.Write(.NewValidFrom)
|
|
sw.Write(.NewValidTo)
|
|
sw.WriteLine()
|
|
End If
|
|
End With
|
|
Next
|
|
|
|
lngAnzahlSätze = lngAnzahlSätze + 1
|
|
With Trailer
|
|
.SortField = "999"
|
|
.RecordID = "99"
|
|
.FileName = "TBL"
|
|
.RunNumber = Format(currentFileNr, "000")
|
|
.RecordCount = Format(lngAnzahlSätze, "0000000")
|
|
.Filler = New String(" ", 13)
|
|
sw.Write(Trailer.SortField)
|
|
sw.Write(Trailer.RecordID)
|
|
sw.Write(Trailer.FileName)
|
|
sw.Write(Trailer.RunNumber)
|
|
sw.Write(Trailer.RecordCount)
|
|
sw.Write(Trailer.Filler)
|
|
sw.WriteLine()
|
|
End With
|
|
sw.Close()
|
|
|
|
|
|
SQL.doSQL("UPDATE [dbo].[FileINfo] SET FileVersion=" & currentFileNr & " WHERE [filename]='" & fileName & "'", "ASFINAG")
|
|
|
|
MsgBox("Files uploaded: " & uploadListToFTP(fileName))
|
|
Return True
|
|
|
|
End Using
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function uploadListToFTP(filename As String) As Integer
|
|
|
|
Dim cnt = 0
|
|
Try
|
|
Dim SERVER_Path = ""
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
|
|
SERVER_Path = Me.FTP_PFAD_TEST
|
|
Else
|
|
|
|
SERVER_Path = Me.FTP_PFAD
|
|
End If
|
|
|
|
For Each f In IO.Directory.GetFiles(ASFINAG_PFAD)
|
|
Dim fi As New IO.FileInfo(f)
|
|
|
|
If Not fi.Name.StartsWith(".") AndAlso fi.Name.Contains(filename) Then
|
|
Dim zielPfad = SERVER_Path
|
|
'While IO.File.Exists(zielPfad)
|
|
' zielPfad = SERVER_Path & "\" & Now.ToString("yyyyMMdd_HHmmss_") & fi.Name
|
|
'End While
|
|
IO.File.Copy(f, zielPfad & "\" & fi.Name)
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
If IO.File.Exists(zielPfad) Then IO.File.Delete(f)
|
|
End If
|
|
cnt += 1
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
Return cnt
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
Return cnt
|
|
|
|
|
|
End Function
|
|
|
|
End Class
|
|
|
|
End Class
|