Feature: neue Klasse "cSicherheiten" erstellt

This commit is contained in:
2022-10-14 12:00:17 +02:00
parent 9b74c3ea14
commit e21dabf3c9
2 changed files with 142 additions and 0 deletions

View File

@@ -0,0 +1,141 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cSicherheiten
Property gsID As Integer
Property kennnummer As String
Property posNr As Integer
Property datum As DateTime
Property erstellungsdatum As DateTime
Property warenwert As Double
Property sicherheitsbetrag As Double
Property saldo As Double
Property standort As String
Property art As String
Property gesamtsichNr As Integer
Property ust As Integer
Property freitext As String
Property filialNr As Integer
Property abfertigungsNr As String
Property LKWID As String
Property isATR As String = ""
Property warenort As String
Public hasEntry = False
Dim SQL As New SQL
Sub New(GesamtSichID)
Me.gsID = gsID
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("gs_gsID", gsID,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_kennNr", kennnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_posNr", posNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_datum", datum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_erstellungsdatum", erstellungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_warenwert", warenwert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_sicherheitsbetrag", sicherheitsbetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_saldo", saldo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_standort", standort))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_art", art))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_gsNr", gesamtsichNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_ust", ust))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_freitext", freitext))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_filialNr", filialNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_abfertigungsnr", abfertigungsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_LKWID", LKWID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_atr", isATR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_warenort", warenort))
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 [tblGesamtsicherheit] WHERE gsID=@GesamtSichID) " &
" 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 [tblGesamtsicherheit] WHERE gsID=@gsID ", conn)
cmd.Parameters.AddWithValue("@gsID", gsID)
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 [tblGesamtsicherheit] SET " & str & " WHERE gsID=@gsID ")
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 [tblGesamtsicherheit] (" & 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