Files
ADMIN/initATLASAufschubkonten/cAsfinag.vb

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