Imports System.Data.SqlClient Imports System.Reflection Public Class cPLOSE Property plose_Id As Integer Property plose_Datensatztyp As Object = Nothing ' VARCHAR(3) NULL, Property plose_KodexMautTankstelle As Object = Nothing ' VARCHAR(7) NULL, Property plose_BeschreibungMautTankstelle As Object = Nothing ' VARCHAR(12) NULL, Property plose_KodexEinfahrt As Object = Nothing ' VARCHAR(7) NULL, Property plose_BeschreibungEinfahrt As Object = Nothing ' VARCHAR(12) NULL, Property plose_KodexAusfahrt As Object = Nothing ' VARCHAR(7) NULL, Property plose_BeschreibungAusfahrt As Object = Nothing ' VARCHAR(12) NULL, Property plose_Kartenkodex As Object = Nothing ' VARCHAR(7) NULL, Property plose_Kontonummer As Object = Nothing ' VARCHAR(13) NULL, Property plose_NummerKarteGeraet As Object = Nothing ' VARCHAR(20) NULL, Property plose_Kennzeichen As Object = Nothing ' VARCHAR(10) NULL, Property plose_InterneNrFahrzeug As Object = Nothing ' VARCHAR(6) NULL, Property plose_POLSEKundennummer As Object = Nothing ' VARCHAR(6) NULL, Property plose_Firmenname As Object = Nothing ' VARCHAR(35) NULL, Property plose_DatumTransaktion As Object = Nothing ' VARCHAR(8) NULL, Property plose_Produktbeschreibung As Object = Nothing ' VARCHAR(15) NULL, Property plose_Menge As Object = Nothing ' Decimal (9, 2) NULL, Property plose_Preis As Object = Nothing ' Decimal (9, 3) NULL, Property Einheitsrabatt As Object = Nothing ' VARCHAR(8) NULL, Property plose_NettobetragTransaktion As Object = Nothing ' Decimal (12, 2) NULL, Property plose_MWSTBetrag As Object = Nothing ' Decimal (12, 2) NULL, Property plose_BruttobetragTransaktion As Object = Nothing ' Decimal (12, 2) NULL, Property plose_NettobetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_MWSTBetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_BruttobetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_WaehrungLandDiesntleistung As Object = Nothing ' VARCHAR(3) NULL, Property plose_WaehrungAbbuchung As Object = Nothing ' VARCHAR(3) NULL, Property plose_DokumentNrQuittungUhrzeit As Object = Nothing ' VARCHAR(7) NULL, Property plose_ArtTransaktion As Object = Nothing ' VARCHAR(1) NULL, Property plose_Fahrzeugklasse As Object = Nothing ' VARCHAR(2) NULL, Property plose_KlassenidentifikationEURO As Object = Nothing ' VARCHAR(2) NULL, Property plose_ProduktbeschreibungShort As Object = Nothing ' VARCHAR(3) NULL, Property plose_TransaktionUhrzeit As Object = Nothing ' VARCHAR(4) NULL, Property plose_Geraetetyp As Object = Nothing ' VARCHAR(3) NULL, Property plose_ProduktCode As Object = Nothing ' VARCHAR(6) NULL, Property plose_ReferenzenBuchungMaut As Object = Nothing ' VARCHAR(33) NULL, Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Sub New() End Sub Sub New(plose_id) Me.plose_Id = plose_id LOAD() End Sub Public 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("plose_id", plose_Id, , True, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Datensatztyp", plose_Datensatztyp)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KodexMautTankstelle", plose_KodexMautTankstelle)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BeschreibungMautTankstelle", plose_BeschreibungMautTankstelle)) ' VARCHAR(12) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KodexEinfahrt", plose_KodexEinfahrt)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BeschreibungEinfahrt", plose_BeschreibungEinfahrt)) ' VARCHAR(12) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KodexAusfahrt", plose_KodexAusfahrt)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BeschreibungAusfahrt", plose_BeschreibungAusfahrt)) ' VARCHAR(12) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Kartenkodex", plose_Kartenkodex)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Kontonummer", plose_Kontonummer)) ' VARCHAR(13) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_NummerKarteGeraet", plose_NummerKarteGeraet)) ' VARCHAR(20) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Kennzeichen", plose_Kennzeichen)) ' VARCHAR(10) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_InterneNrFahrzeug", plose_InterneNrFahrzeug)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_POLSEKundennummer", plose_POLSEKundennummer)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Firmenname", plose_Firmenname)) ' VARCHAR(35) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_DatumTransaktion", plose_DatumTransaktion)) ' VARCHAR(8) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Produktbeschreibung", plose_Produktbeschreibung)) ' VARCHAR(15) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Menge", plose_Menge)) ' Decimal (9, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Preis", plose_Preis)) ' Decimal (9, 3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einheitsrabatt", Einheitsrabatt)) ' VARCHAR(8) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_NettobetragTransaktion", plose_NettobetragTransaktion)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_MWSTBetrag", plose_MWSTBetrag)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BruttobetragTransaktion", plose_BruttobetragTransaktion)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_NettobetragWaehrungAbbuchung", plose_NettobetragWaehrungAbbuchung)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_MWSTBetragWaehrungAbbuchung", plose_MWSTBetragWaehrungAbbuchung)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BruttobetragWaehrungAbbuchung", plose_BruttobetragWaehrungAbbuchung)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_WaehrungLandDiesntleistung", plose_WaehrungLandDiesntleistung)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_WaehrungAbbuchung", plose_WaehrungAbbuchung)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_DokumentNrQuittungUhrzeit", plose_DokumentNrQuittungUhrzeit)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ArtTransaktion", plose_ArtTransaktion)) ' VARCHAR(1) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Fahrzeugklasse", plose_Fahrzeugklasse)) ' VARCHAR(2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KlassenidentifikationEURO", plose_KlassenidentifikationEURO)) ' VARCHAR(2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ProduktbeschreibungShort", plose_ProduktbeschreibungShort)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_TransaktionUhrzeit", plose_TransaktionUhrzeit)) ' VARCHAR(4) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Geraetetyp", plose_Geraetetyp)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ProduktCode", plose_ProduktCode)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ReferenzenBuchungMaut", plose_ReferenzenBuchungMaut)) ' VARCHAR(33) NULL, 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 tblPLOSE_Details WITH(updlock,serializable) WHERE plose_id=@plose_id) " & " BEGIN " & getUpdateCmd() & " End " & " Else " & " BEGIN " & getInsertCmd() & " End " & " commit tran " plose_Id = SQL.doSQLVarListID(plose_Id, sqlstr, "FMZOLL", , list) Return plose_Id > 0 End Function Public Sub LOAD() Try Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("Select * FROM tblPLOSE_Details WHERE plose_id=@plose_id ", conn) cmd.Parameters.AddWithValue("@plose_id", plose_Id) Dim dr = cmd.ExecuteReader() If dr.Read Then For Each l In getParameterList() Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) If dr.Item(l.Text) Is DBNull.Value Then propInfo.SetValue(Me, Nothing) Else propInfo.SetValue(Me, dr.Item(l.Text)) End If Next 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 [tblPLOSE_Details] SET " & str & " WHERE plose_id=@plose_id ") 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 tblPLOSE_Details (" & 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 Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean Dim sqlstr = " DELETE FROM [tblPLOSE_Details] WITH(updlock,serializable) WHERE plose_id=" & Me.plose_Id Return SQL.doSQL(sqlstr, "FMZOLL") End Function End Class