Files
Doku/Dokumentation/Classes/cBerechtigungen.vb

136 lines
5.2 KiB
VB.net

Imports System.Reflection
Public Class cBerechtigungen
Property Benutzeranmeldename As String = ""
Property Standort As String = ""
Property Zugriff As String = ""
Property MeExist As Boolean = False
Property ID As String = ""
Property StandardZugriff = "0"
Function getparameterlist() As List(Of SQLVariable)
Dim list As New List(Of SQLVariable)
list.Add(New SQLVariable("Benutzeranmeldename", Benutzeranmeldename))
list.Add(New SQLVariable("Standort", Standort))
list.Add(New SQLVariable("Zugriff", Zugriff))
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 = ""
cSQL.SQL2DS("SELECT * FROM TbL_Berechtigungen WHERE BENUTZERANMELDENAME = '" & Benutzeranmeldename & "' AND Standort = '" & Standort & "'", 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
Me.Zugriff = StandardZugriff
End If
' MsgBox("hier")
End Function
Function checkExist() '(ByVal ip As String)
Dim ds As New DataSet
cSQL.SQL2DS("SELECT * FROM TbL_Berechtigungen WHERE BENUTZERANMELDENAME = '" & Benutzeranmeldename & "' AND Standort = '" & Standort & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
MeExist = True
Return True
Else
MeExist = False
Return False
End If
End Function
Function SaveToSQL()
checkExist()
If MeExist = True Then
Dim update As String = ""
Dim where As String = ""
Dim list As List(Of SQLVariable) = getparameterlist()
For Each i In list ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dieser Host
If Not i.SQLText = "ID" Then
update &= "[" & i.SQLText & "]='" & i.SQLValue & "',"
Else
where &= "ID = '" & i.SQLValue & "'"
End If
Next
update = update.Substring(0, update.Length - 1)
cSQL.UpdateSQL("TbL_Berechtigungen", update, where)
Else
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
' If Not i.SQLText = "Erstelldatum" Then
Spalten &= i.SQLText & ","
Werte &= "'" & i.SQLValue & "',"
' End If
Next
Spalten = Spalten.Substring(0, Spalten.Length - 1)
Werte = Werte.Substring(0, Werte.Length - 1)
cSQL.InsertSQL("TbL_Berechtigungen", "(" & Spalten & ") VALUES (" & Werte & ")")
MeExist = True
End If
End Function
Public Shared Function ReadAll(ByVal Benutzeranmeldename As String) As List(Of cBerechtigungen)
Try
Dim ToR As New List(Of cBerechtigungen) ' ToR -> Table of Rights *Badum Tss*
Dim ds As New DataSet
cSQL.SQL2DS("SELECT * FROM TbL_Berechtigungen WHERE BENUTZERANMELDENAME = '" & Benutzeranmeldename & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
For Each row As DataRow In ds.Tables(0).Rows
Dim R As New cBerechtigungen
R.Benutzeranmeldename = Benutzeranmeldename
R.Standort = row.Item("Standort").ToString
R.Zugriff = row.Item("Zugriff").ToString
R.ID = row.Item("ID").ToString
ToR.Add(R)
Next
End If
Return ToR
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Public Shared Function BenutzerBerechtigungfuerStandort(ByVal Benutzer As String, ByVal Standort As String)
Dim ds As New DataSet
cSQL.SQL2DS("SELECT ZUGRIFF FROM TbL_Berechtigungen WHERE BENUTZERANMELDENAME = '" & Benutzer & "' AND Standort = '" & Standort & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
Return ds.Tables(0).Rows(0).Item(0).ToString
Else
If Not Class1.offline Then MsgBox("Keine Berechtigung gefunden")
Return "0"
End If
End Function
Public Shared Function BenutzerBerechtigungfuerID(ByVal Benutzer As String, ByVal ID As String)
Dim ds As New DataSet
cSQL.SQL2DS("SELECT ZUGRIFF FROM TbL_Berechtigungen WHERE BENUTZERANMELDENAME = '" & Benutzer & "' AND ID = '" & ID & "'", ds)
If ds.Tables(0).Rows.Count > 0 Then
Return ds.Tables(0).Rows(0).Item(0).ToString
Else
' MsgBox("Keine Berechtigung gefunden")
Return "0"
End If
End Function
End Class