259 lines
11 KiB
VB.net
259 lines
11 KiB
VB.net
Imports System.Reflection
|
|
|
|
Public Class cDomUser
|
|
|
|
Property du_ID As String = ""
|
|
Property du_Email_Activated As Boolean = False
|
|
Property du_EMail As String = ""
|
|
Property du_Vorname As String = ""
|
|
Property du_Nachname As String = ""
|
|
Property du_Abteilung As String = ""
|
|
Property du_TelNummer As String = ""
|
|
Property du_DW As String = ""
|
|
Property du_Kennwort As String = ""
|
|
Property du_Dom As String = ""
|
|
Property du_sAMAc As String = ""
|
|
Property du_Info As String = ""
|
|
Property du_autologoff As Boolean = False
|
|
Property du_autologofftime As DateTime
|
|
Property mit_username As String = ""
|
|
Property mit_pwd As String = ""
|
|
'-----------------------------------------
|
|
Dim SelectItems As String = ""
|
|
Public Exist As Boolean = False
|
|
|
|
Public Sub New()
|
|
SelectItems = Selectinator3000(getparameterlistMaster())
|
|
' MsgBox(SelectItems)
|
|
End Sub
|
|
|
|
|
|
Function getparameterlistMaster() As List(Of SQLVariable)
|
|
Dim list As New List(Of SQLVariable)
|
|
|
|
list.Add(New SQLVariable("du_ID", du_ID))
|
|
list.Add(New SQLVariable("du_Email_Activated", du_Email_Activated))
|
|
list.Add(New SQLVariable("du_EMail", du_EMail))
|
|
list.Add(New SQLVariable("du_Vorname", du_Vorname))
|
|
list.Add(New SQLVariable("du_Nachname", du_Nachname))
|
|
list.Add(New SQLVariable("du_Abteilung", du_Abteilung))
|
|
list.Add(New SQLVariable("du_TelNummer", du_TelNummer))
|
|
list.Add(New SQLVariable("du_DW", du_DW))
|
|
list.Add(New SQLVariable("du_Kennwort", du_Kennwort))
|
|
list.Add(New SQLVariable("du_Dom", du_Dom))
|
|
list.Add(New SQLVariable("du_sAMAc", du_sAMAc))
|
|
list.Add(New SQLVariable("du_Info", du_Info))
|
|
list.Add(New SQLVariable("du_autologoff", du_autologoff))
|
|
list.Add(New SQLVariable("du_autologofftime", du_autologofftime))
|
|
list.Add(New SQLVariable("mit_username", mit_username))
|
|
list.Add(New SQLVariable("mit_pwd", mit_pwd))
|
|
Return list
|
|
End Function
|
|
|
|
Public Function getDomUser(Filterspalte As String, Filterbegriff As String)
|
|
Dim ds As New DataSet
|
|
|
|
cSQL.SQL2DS("select " & SelectItems & " from [SQLGuide01.verag.ost.dmn].doku.dbo.tbl_domuser as Doku left join [SQLGuide01.verag.ost.dmn].ADMIN.dbo.tblMitarbeiter on mit_AliasAD_Username = du_sAMAc where " & Filterspalte & "= '" & Filterbegriff & "'", ds)
|
|
|
|
If ds.Tables(0).Rows.Count > 0 Then Exist = True
|
|
|
|
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
|
|
' MsgBox("hier")
|
|
End Function
|
|
|
|
Public Function getDomUserByID(ID As String)
|
|
Dim ds As New DataSet
|
|
|
|
cSQL.SQL2DS("select " & SelectItems & " from [SQLGuide01.verag.ost.dmn].doku.dbo.tbl_domuser as Doku left join [SQLGuide01.verag.ost.dmn].ADMIN.dbo.tblMitarbeiter on mit_AliasAD_Username = du_sAMAc WHERE du_ID = '" & ID & "'", ds)
|
|
|
|
If ds.Tables(0).Rows.Count > 0 Then Exist = True
|
|
|
|
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
|
|
' MsgBox("hier")
|
|
End Function
|
|
|
|
Public Function getDomUserByBenutzerAnmeldename(Dom As String, Username As String)
|
|
Dim ds As New DataSet
|
|
Try
|
|
|
|
|
|
cSQL.SQL2DS("select " & SelectItems & " from [SQLGuide01.verag.ost.dmn].doku.dbo.tbl_domuser as Doku left join [SQLGuide01.verag.ost.dmn].ADMIN.dbo.tblMitarbeiter on mit_AliasAD_Username = du_sAMAc WHERE du_Dom = '" & Dom & "' AND du_sAMAc = '" & Username & "'", ds)
|
|
|
|
If ds.Tables(0).Rows.Count > 0 Then Exist = True
|
|
If ds.Tables(0).Rows.Count = 0 Then Exit Function
|
|
'MsgBox("getDomUserByBenutzerAnmeldename" & Dom & vbCrLf & ds.Tables(0).Rows.Count & Username & vbCrLf)
|
|
|
|
|
|
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
|
|
|
|
Catch ex As Exception
|
|
'MsgBox("getDomUserByBenutzerAnmeldename" & Dom & vbCrLf & ds.Tables(0).Rows.Count & Username & vbCrLf & ex.Message)
|
|
End Try
|
|
|
|
' MsgBox("hier")
|
|
End Function
|
|
|
|
Public Function Save()
|
|
If du_sAMAc = "" Or du_Dom = "" Then
|
|
MsgBox("Domänen-Benutzer und Domäne sind Pflichtfelder!") : Exit Function
|
|
End If
|
|
|
|
If CheckExist() = True Then
|
|
'-------------------------------------------------------------------------Update
|
|
Dim update, where As String
|
|
Dim list = getparameterlistMaster()
|
|
For Each i In list
|
|
If i.SQLText = "mit_pwd" Or i.SQLText = "mit_username" Then
|
|
ElseIf Not i.SQLText = "du_ID" Then
|
|
update &= "[" & i.SQLText & "]='" & i.SQLValue & "',"
|
|
Else
|
|
where &= "du_ID = '" & i.SQLValue & "'"
|
|
End If
|
|
Next
|
|
update = update.Substring(0, update.Length - 1)
|
|
cSQL.UpdateSQL("TbL_DomUser", update, where, Class1.DBDoku)
|
|
|
|
ElseIf CheckExist() = -1 Then
|
|
Exit Function
|
|
Else
|
|
'-------------------------------------------------------------------------Insert
|
|
Dim Spalten As String = ""
|
|
Dim Werte As String = ""
|
|
Dim InsertString As String = ""
|
|
du_ID = Guid.NewGuid().ToString("N")
|
|
Dim List As List(Of SQLVariable) = getparameterlistMaster()
|
|
For Each i In List
|
|
If i.SQLText = "mit_pwd" Or i.SQLText = "mit_username" Then
|
|
Else
|
|
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_DomUser", "(" & Spalten & ") VALUES (" & Werte & ")", Class1.DBDoku)
|
|
End If
|
|
|
|
End Function
|
|
|
|
Function CheckExist() As Boolean
|
|
Dim ds As New DataSet
|
|
cSQL.SQL2DS("select * from Doku.dbo.TbL_DomUser where du_ID = '" & du_ID & "'", ds, Class1.DBADMINBuchhaltung)
|
|
|
|
If ds.Tables(0).Rows.Count > 0 Then
|
|
Return True
|
|
Else
|
|
Dim dsa As New DataSet
|
|
cSQL.SQL2DS("select * from Doku.dbo.TbL_DomUser where du_sAMAc = '" & du_sAMAc & "' AND du_Dom = '" & du_Dom & "'", dsa, Class1.DBADMINBuchhaltung)
|
|
If dsa.Tables(0).Rows.Count > 0 Then
|
|
If MsgBox("Achtung! Die Kombination aus Domäne und Benutzer existiert bereits! Trotzdem speichern?", MsgBoxStyle.YesNo, "Speichern...") = MsgBoxResult.No Then
|
|
Return -1
|
|
Exit Function
|
|
End If
|
|
|
|
End If
|
|
Return False
|
|
End If
|
|
End Function
|
|
Public Function getFromAvisoUser(Optional ByVal AvisoUser As String = "")
|
|
If AvisoUser = "" Then
|
|
AvisoUser = Me.mit_username
|
|
End If
|
|
|
|
Dim ds As New DataSet
|
|
cSQL.SQL2DS("select * from ADMIN.dbo.tblMitarbeiter where mit_username = '" & AvisoUser & "'", ds, Class1.DBADMINBuchhaltung)
|
|
|
|
If ds.Tables(0).Rows.Count = 0 Then MsgBox("Benutzer nicht gefunden.") : Exit Function
|
|
If ds.Tables(0).Rows.Count = 1 Then
|
|
du_EMail = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_email"))
|
|
If du_EMail.Length > 1 Then du_Email_Activated = True
|
|
mit_username = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_username"))
|
|
mit_pwd = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_pwd"))
|
|
du_Vorname = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_vname"))
|
|
du_Nachname = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_nname"))
|
|
du_Abteilung = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_abteilung"))
|
|
du_TelNummer = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_mobiltel"))
|
|
du_DW = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_durchwahl"))
|
|
du_Dom = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_aliasad_domain"))
|
|
du_sAMAc = Class1.DBNull2emptyString(ds.Tables(0).Rows(0).Item("mit_aliasad_username"))
|
|
End If
|
|
|
|
Exist = True
|
|
|
|
' MsgBox(du_EMail)
|
|
End Function
|
|
|
|
Public Function getFromAvisoUserLIST(AvisoUser As String)
|
|
Dim ds As New DataSet
|
|
Dim AvisoUserList As New List(Of cDomUser)
|
|
cSQL.SQL2DS("select * from ADMIN.dbo.tblMitarbeiter where mit_username = '" & AvisoUser & "'", ds, Class1.DBADMINBuchhaltung)
|
|
For Each row As DataRow In ds.Tables(0).Rows
|
|
Dim tempdu As New cDomUser
|
|
tempdu.du_EMail = Class1.DBNull2emptyString(row.Item("mit_email"))
|
|
If tempdu.du_EMail.Length > 1 Then tempdu.du_Email_Activated = True
|
|
tempdu.mit_username = Class1.DBNull2emptyString(row.Item("mit_username"))
|
|
tempdu.mit_pwd = Class1.DBNull2emptyString(row.Item("mit_pwd"))
|
|
tempdu.du_Vorname = Class1.DBNull2emptyString(row.Item("mit_vname"))
|
|
tempdu.du_Nachname = Class1.DBNull2emptyString(row.Item("mit_nname"))
|
|
tempdu.du_Abteilung = Class1.DBNull2emptyString(row.Item("mit_abteilung"))
|
|
tempdu.du_TelNummer = Class1.DBNull2emptyString(row.Item("mit_mobiltel"))
|
|
tempdu.du_DW = Class1.DBNull2emptyString(row.Item("mit_durchwahl"))
|
|
tempdu.du_Dom = Class1.DBNull2emptyString(row.Item("mit_aliasad_domain"))
|
|
tempdu.du_sAMAc = Class1.DBNull2emptyString(row.Item("mit_aliasad_username"))
|
|
AvisoUserList.Add(tempdu)
|
|
Next
|
|
Return AvisoUserList
|
|
End Function
|
|
|
|
Public Function Selectinator3000(varlist As List(Of SQLVariable)) As String
|
|
Dim Ding As String = ""
|
|
|
|
For Each var In varlist
|
|
Ding &= var.SQLText & ", "
|
|
Next
|
|
Ding = Ding.Substring(0, (Ding.Length - 2))
|
|
|
|
Return Ding
|
|
End Function
|
|
|
|
Public Function Delete()
|
|
If MsgBox("Benutzer " & du_Vorname & " " & du_Nachname & ", " & du_sAMAc & " löschen?", MsgBoxStyle.OkCancel, "Benutzer löschen?") = MsgBoxResult.Ok Then
|
|
cSQL.DeleteSQL("Doku.dbo.TbL_DomUser", "du_ID = '" & du_ID & "'", Class1.DBADMINBuchhaltung)
|
|
Else
|
|
Exit Function
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function Delete(ID As String)
|
|
If MsgBox("Benutzer löschen?", MsgBoxStyle.OkCancel, "Benutzer löschen?") = MsgBoxResult.Ok Then
|
|
cSQL.DeleteSQL("Doku.dbo.TbL_DomUser", "du_ID = '" & ID & "'", Class1.DBADMINBuchhaltung)
|
|
Else
|
|
Exit Function
|
|
End If
|
|
End Function
|
|
|
|
|
|
End Class
|