Imports System.Data.SqlClient Imports System.Reflection Public Class cIDS Property transaction_id As Integer Property YearMonthDay As Object = Nothing Property Paymentsummarynumber As Object = Nothing Property CustomerCode As Object = Nothing Property CustomerName As Object = Nothing Property OutletCountryCode As Object = Nothing Property OutletCountry As Object = Nothing Property OutletCode As Object = Nothing Property OutletName As Object = Nothing Property ProductTypeCode As Object = Nothing Property TransactionVolume As Object = Nothing Property AmminclVAT As Object = Nothing Property TotalNetAmount As Object = Nothing Property VATAmount As Object = Nothing Property avpriceexclVAT As Object = Nothing Property Rechenwert As Object = Nothing Property Kz As Object = Nothing Property Rabattbetrag As Object = Nothing Property RabattbetragProLiter As Object = Nothing Property Zeitstempel As Object = Nothing Property Sachbearbeiter As Object = Nothing Property KdNrVERAG As Object = Nothing Property CardNumber As Object = Nothing Property EmissionNumber As Object = Nothing Property CardComments As Object = Nothing Property CalendarDate As Object = Nothing Property TransactionHHMM As Object = Nothing Property UStVAn_ID As Object = Nothing Property VRNumber As Object = Nothing Property OBONumber As Object = Nothing Public hasEntry = False Dim SQL As New SQL 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,, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("YearMonthDay", YearMonthDay)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Paymentsummarynumber", Paymentsummarynumber)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CustomerCode", CustomerCode)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CustomerName", CustomerName)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OutletCountryCode", OutletCountryCode)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OutletCountry", OutletCountry)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OutletCode", OutletCode)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OutletName", OutletName)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ProductTypeCode", ProductTypeCode)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransactionVolume", TransactionVolume)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AmminclVAT", AmminclVAT)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TotalNetAmount", TotalNetAmount)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VATAmount", VATAmount)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("avpriceexclVAT", avpriceexclVAT)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechenwert", Rechenwert)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kz", Kz)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rabattbetrag", Rabattbetrag)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RabattbetragProLiter", RabattbetragProLiter)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zeitstempel", Zeitstempel)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdNrVERAG", KdNrVERAG)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CardNumber", CardNumber)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmissionNumber", EmissionNumber)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CardComments", CardComments)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CalendarDate", CalendarDate)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TransactionHHMM", TransactionHHMM)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VRNumber", VRNumber)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBONumber", OBONumber)) 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 tblIDSTransactions 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 tblIDSTransactions 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 [tblIDSTransactions] 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 tblIDSTransactions (" & 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 Public VERARBEITUNG_PFAD Public ARCHIV_PFAD Public ERROR_PFAD Public ZIEL_PFAD Public FTP_PFAD Public API_STRING As String Public API As New DataTable Dim Dateiname = "" Public Function initImportPfade(programName As String) As Boolean ERROR_PFAD = cIDS.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM) ARCHIV_PFAD = cIDS.Paramter.GET_PARAM_ByName("ARCHIV_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM) VERARBEITUNG_PFAD = cIDS.Paramter.GET_PARAM_ByName("VERARBEITUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM) ZIEL_PFAD = cIDS.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM) If Not System.IO.Directory.Exists(VERARBEITUNG_PFAD) AndAlso VERARBEITUNG_PFAD <> "" Then System.IO.Directory.CreateDirectory(VERARBEITUNG_PFAD) ElseIf VERARBEITUNG_PFAD = "" Then MsgBox("Verabreitungspfad nicht gesetzt!") End If Return Paramter.getFTPConenction(API_STRING, API, programName) End Function Public Class Paramter Shared apiSettingsloaded As Boolean = False 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='UTA' AND [Param_name]='" & tcParam_name & "'", , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM)) End Function Shared Function getFTPConenction(ByRef API_String As String, ByRef API As DataTable, ByRef program As String) As Boolean API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN") If API.Rows.Count = 0 Then MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!") Else apiSettingsloaded = True API_String = API.Rows(0).Item("api_url") End If Return apiSettingsloaded End Function End Class End Class