Files
Doku/Dokumentation/Classes/cEintrag.vb
2019-09-25 10:01:04 +02:00

127 lines
5.1 KiB
VB.net

Imports System.Reflection
Public Class cEintrag
Property rubrik As String = ""
Property Titel As String = ""
Property Info As String = ""
Property Link As String = ""
Property Benutzer As String = ""
Property Passwort As String = ""
Property Linked As Boolean = False
Property LinkedWith As String = ""
Property ID As String = ""
Property Berechtigung As String = ""
Property NewID As Boolean = False
Function getparameterlist() As List(Of SQLVariable)
Dim list As New List(Of SQLVariable)
list.Add(New SQLVariable("rubrik", rubrik))
list.Add(New SQLVariable("Titel", Titel))
list.Add(New SQLVariable("Info", Info))
list.Add(New SQLVariable("Link", Link))
list.Add(New SQLVariable("Benutzer", Benutzer))
list.Add(New SQLVariable("Passwort", Passwort))
list.Add(New SQLVariable("Linked", Linked))
list.Add(New SQLVariable("LinkedWith", LinkedWith))
list.Add(New SQLVariable("ID", ID))
Return list
End Function
Public Function getFromSQL() '(ip As String)
Dim ds As New DataSet
Dim test As String = ""
Try
SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE ID = '" & Me.ID & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
For Each c As DataColumn In ds.Tables(0).Columns
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(c.ColumnName)
If propInfo IsNot Nothing Then
If Not IsDBNull(c.Table.Rows(0).Item(c)) Then
propInfo.SetValue(Me, c.Table.Rows(0).Item(c))
End If
End If
Next
Else
ds.Clear()
SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE Rubrik = '" & rubrik & "' AND Titel = '" & Titel & "'", ds)
For Each c As DataColumn In ds.Tables(0).Columns
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(c.ColumnName)
If propInfo IsNot Nothing Then
If Not IsDBNull(c.Table.Rows(0).Item(c)) Then
propInfo.SetValue(Me, c.Table.Rows(0).Item(c))
End If
End If
Next
Me.ID = Guid.NewGuid().ToString("N") : NewID = True
End If
Catch
Return -1
End Try
' MsgBox("hier")
End Function
Public Function Save()
If checkExist() = False Then '----------------------------------------neuer Eintrag
'' (Spalten, Spalten, ...) VALUES (Werte, Werte, ...)
Me.ID = Guid.NewGuid().ToString("N")
Dim Spalten As String = ""
Dim Werte As String = ""
Dim InsertString As String = ""
Dim List As List(Of SQLVariable) = getparameterlist()
For Each i In List
Spalten &= i.SQLText & ","
Werte &= "'" & i.SQLValue & "',"
Next
Spalten = Spalten.Substring(0, Spalten.Length - 1)
Werte = Werte.Substring(0, Werte.Length - 1)
SQL.InsertSQL("TbL_Allgemein", "(" & Spalten & ") VALUES (" & Werte & ")")
ElseIf checkExist() And NewID = True Then ''----------------------------------------bestehender Eintrag ohne ID
Dim UpdateString As String = ""
Dim WhereString As String = ""
Dim list As List(Of SQLVariable) = getparameterlist()
For Each i In list
'If Not i.SQLText = "EssenCreateDate" Then
UpdateString &= "[" & i.SQLText & "]='" & i.SQLValue & "',"
'End If
Next
UpdateString = UpdateString.Substring(0, UpdateString.Length - 1) 'wg. ','
SQL.UpdateSQL("TbL_Allgemein", UpdateString, "Rubrik = '" & rubrik & "' AND Titel = '" & Titel & "'")
NewID = False
ElseIf checkExist() And NewID = False Then ''----------------------------------------bestehender Eintrag mit bestehender ID
Dim UpdateString As String = ""
Dim WhereString As String = ""
Dim list As List(Of SQLVariable) = getparameterlist()
For Each i In list
If Not i.SQLText = "ID" Then
UpdateString &= "[" & i.SQLText & "]='" & i.SQLValue & "',"
End If
Next
UpdateString = UpdateString.Substring(0, UpdateString.Length - 1) 'wg. ','
SQL.UpdateSQL("TbL_Allgemein", UpdateString, "ID = '" & ID & "'")
End If
End Function
Function checkExist() '(ByVal ip As String)
Dim ds As New DataSet
SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE ID = '" & Me.ID & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
Return True
Else
ds.Clear()
SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE Rubrik = '" & rubrik & "' AND Titel = '" & Titel & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
Return True
Else
Return False
End If
End If
End Function
End Class