Files
ADMIN/UID/Programme/frmBerechtigungsObjekte.vb
2024-05-14 22:06:27 +02:00

315 lines
13 KiB
VB.net

Public Class frmBerechtigungsObjekte
Dim progId = -1
Dim codename = ""
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim BerechtigungsObjekte As VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekte_List
Dim BerechtigungenGruppen As VERAG_PROG_ALLGEMEIN.cBerechtigungenGruppen_List
Sub New(progId)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.progId = progId
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(progId, codename)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.progId = progId
Me.codename = codename
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub frmBerechtigungsObjekte_Load(sender As Object, e As EventArgs) Handles Me.Load
Label10.Text = codename
init()
End Sub
Sub init(Optional searchparam As String = "")
MyComboBox1.SelectedIndex = 0
gdvGruppen.Rows.Clear()
dgvObjekte.Rows.Clear()
dgvGruppenBenutzer.Rows.Clear()
BerechtigungsObjekte = New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekte_List(progId, searchparam)
BerechtigungenGruppen = New VERAG_PROG_ALLGEMEIN.cBerechtigungenGruppen_List(progId)
For Each b In BerechtigungenGruppen.LIST
gdvGruppen.Rows.Add(b.bergr_id, b.bergr_bezeichnung)
Next
' Dim dt As DataTable = sql.loadDgvBySql("SELECT [bero_id],[bero_bezeichnung],[bero_art] FROM [tblBerechtigungsObjekte] WHERE [bero_progId]=" & progId, "ADMIN")
For Each b In BerechtigungsObjekte.LIST
dgvObjekte.Rows.Add(b.bero_id, b.bero_bezeichnung, b.bero_art)
Next
MyComboBox2.Items.Clear()
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
For Each i In BerechtigungenGruppen.LIST
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(i.bergr_bezeichnung, i.bergr_id))
Next
MyComboBox3.Items.Clear()
MyComboBox3.fillWithSQL("SELECT [mit_id],[mit_username] + ' (' + mit_vname + ' ' + mit_nname + ') ' + mit_firma FROM [ADMIN].[dbo].[tblMitarbeiter] /*INNER JOIN [ADMIN].[dbo].[tblBerProg] ON mit_id=[bepr_userId] INNER JOIN [ADMIN].[dbo].[tblBerechtigungen] ON [ber_id]=[bepr_berId] " &
" WHERE ber_progId=" & progId & " AND [ber_allowed]=1*/ ORDER BY mit_username", False, "ADMIN", True)
gdvGruppen.ClearSelection()
dgvObjekte.ClearSelection()
dgvGruppenBenutzer.ClearSelection()
cboFirma.Items.Clear()
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FRONTOFFICE"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERIMEX", "VERIMEX"))
cboAbteilung.Items.Clear()
cboAbteilung.fillWithSQL("SELECT [abt_id],[abt_bezeichnung] FROM tblAbteilungen", False, "ADMIN", True)
cboNiederlassung.Items.Clear()
cboNiederlassung.fillWithSQL("SELECT [nl_id],[nl_bezeichnung] FROM tblNiederlassungen", False, "ADMIN", True)
End Sub
Private Sub dgvObjekte_SelectionChanged(sender As Object, e As EventArgs) Handles dgvObjekte.SelectionChanged
dgvGruppenBenutzer.Rows.Clear()
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
loadGruppen()
End Sub
Sub loadGruppen()
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
dgvGruppenBenutzer.Rows.Clear()
For Each b In BerechtigungsObjekte.LIST
If b.bero_id = dgvObjekte.SelectedRows(0).Cells("id").Value Then
If b.BER_OBJ_ZUORD IsNot Nothing Then
For Each bz In b.BER_OBJ_ZUORD
dgvGruppenBenutzer.Rows.Add(bz.beroz_id, bz.Bezeichnung, bz.beroz_art, bz.beroz_berechtigungsstufe)
' If bz.beroz_art = "B" Then
' MyListBox2.Items.Add(bz.BenutzerBezeichnung & " (B)")
' Else
' MyListBox2.Items.Add(bz.GruppenBezeichnung & " (G)")
' dgvGruppenBenutzer.Rows.Add(bz.beroz_id, bz.GruppenBezeichnung, bz.beroz_art, bz.beroz_berechtigungsstufe)
' End If
Next
Exit Sub
End If
End If
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
'Gruppe zuordnen
If MyComboBox2._value = String.Empty Then Exit Sub
If Not IsNumeric(MyTextBox2.Text) Then Exit Sub
Dim BOZ As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekteZuordnung
BOZ.beroz_beroId = dgvObjekte.SelectedRows(0).Cells("id").Value
BOZ.beroz_bergrId = MyComboBox2._value
BOZ.beroz_art = "G"
BOZ.beroz_berechtigungsstufe = MyTextBox2.Text
BOZ.INSERT()
BerechtigungsObjekte.LOAD_LIST()
loadGruppen()
MyComboBox2.SelectedIndex = 0
MyTextBox2.Text = "0"
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
'Gruppe zuordnen
If cboAbteilung._value = String.Empty Then Exit Sub
If Not IsNumeric(MyTextBox6.Text) Then Exit Sub
Dim BOZ As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekteZuordnung
BOZ.beroz_beroId = dgvObjekte.SelectedRows(0).Cells("id").Value
BOZ.beroz_bergrId = cboAbteilung._value
BOZ.beroz_art = "A"
BOZ.beroz_berechtigungsstufe = MyTextBox6.Text
BOZ.INSERT()
BerechtigungsObjekte.LOAD_LIST()
loadGruppen()
cboAbteilung.SelectedIndex = 0
MyTextBox6.Text = "0"
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
'Gruppe zuordnen
If cboNiederlassung._value = String.Empty Then Exit Sub
If Not IsNumeric(MyTextBox5.Text) Then Exit Sub
Dim BOZ As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekteZuordnung
BOZ.beroz_beroId = dgvObjekte.SelectedRows(0).Cells("id").Value
BOZ.beroz_bergrId = cboNiederlassung._value
BOZ.beroz_art = "N"
BOZ.beroz_berechtigungsstufe = MyTextBox5.Text
BOZ.INSERT()
BerechtigungsObjekte.LOAD_LIST()
loadGruppen()
cboNiederlassung.SelectedIndex = 0
MyTextBox5.Text = "0"
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
'Benutzer zuordnen
If MyComboBox3._value = String.Empty Then Exit Sub
If Not IsNumeric(MyTextBox3.Text) Then Exit Sub
Dim BOZ As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekteZuordnung
BOZ.beroz_beroId = dgvObjekte.SelectedRows(0).Cells("id").Value
BOZ.beroz_bergrId = MyComboBox3._value
BOZ.beroz_art = "B"
BOZ.beroz_berechtigungsstufe = MyTextBox3.Text
BOZ.INSERT()
BerechtigungsObjekte.LOAD_LIST()
loadGruppen()
MyComboBox3.SelectedIndex = 0
MyTextBox3.Text = "0"
End Sub
Private Sub dgvGruppenBenutzer_KeyDown(sender As Object, e As KeyEventArgs) Handles dgvGruppenBenutzer.KeyDown
If dgvGruppenBenutzer.SelectedRows.Count = 0 Then Exit Sub
If e.KeyCode = Keys.Delete Then
If vbYes = MsgBox("Möchten Sie die Zuordnung wirklich löschen?", vbYesNoCancel) Then
Dim BOZ As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekteZuordnung
BOZ.beroz_id = dgvGruppenBenutzer.SelectedRows(0).Cells("dgvGrBen_id").Value
BOZ.DELETE()
BerechtigungsObjekte.LOAD_LIST()
loadGruppen()
End If
End If
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
If MyComboBox1.Text = String.Empty Then Exit Sub
If MyTextBox1.Text = String.Empty Then Exit Sub
For Each b In BerechtigungsObjekte.LIST
dgvObjekte.Rows.Add(b.bero_id, b.bero_bezeichnung, b.bero_art)
If b.bero_bezeichnung = MyTextBox1.Text Then
MsgBox("Das Objekt existiert bereits!")
Exit Sub
End If
Next
Dim BO As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekte
BO.bero_progId = progId
BO.bero_bezeichnung = MyTextBox1.Text
BO.bero_art = MyComboBox1.Text
BO.INSERT()
MyComboBox1.Text = String.Empty
init()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MyTextBox4.Text = String.Empty Then Exit Sub
Dim BGR As New VERAG_PROG_ALLGEMEIN.cBerechtigungenGruppen
BGR.bergr_progId = progId
BGR.bergr_bezeichnung = MyTextBox4.Text
BGR.INSERT()
MyTextBox4.Text = ""
init()
End Sub
Private Sub gdvGruppen_KeyDown(sender As Object, e As KeyEventArgs) Handles gdvGruppen.KeyDown
If gdvGruppen.SelectedRows.Count = 0 Then Exit Sub
If e.KeyCode = Keys.Delete Then
If vbYes = MsgBox("Möchten Sie die Gruppe und alle verbundenen Zuordnungen wirklich löschen?", vbYesNoCancel) Then
Dim BGR As New VERAG_PROG_ALLGEMEIN.cBerechtigungenGruppen
BGR.bergr_id = gdvGruppen.SelectedRows(0).Cells("dgvGrp_id").Value
BGR.DELETE()
init()
End If
End If
End Sub
Private Sub dgvObjekte_KeyDown(sender As Object, e As KeyEventArgs) Handles dgvObjekte.KeyDown
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
If e.KeyCode = Keys.Delete Then
If vbYes = MsgBox("Möchten Sie das Objekt und alle verbundenen Zuordnungen wirklich löschen?", vbYesNoCancel) Then
Dim BGR As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekte
BGR.bero_id = dgvObjekte.SelectedRows(0).Cells("id").Value
BGR.DELETE()
init()
End If
End If
End Sub
Private Sub gdvGruppen_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles gdvGruppen.CellContentDoubleClick, gdvGruppen.CellDoubleClick
If gdvGruppen.SelectedRows.Count > 0 Then
Dim f As New frmBerechtigungenUser()
f.lbl.Text = "Benutzer in der Gruppe: " & gdvGruppen.SelectedRows(0).Cells("dgvGrp_bez").Value
Dim dt = sql.loadDgvBySql("SELECT [mit_id],mit_username FROM [tblBerechtigungenBenutzerGruppenZuordnung] inner join tblMitarbeiter on mit_id=berbgz_mitId where [berbgz_bergrId]='" & gdvGruppen.SelectedRows(0).Cells("dgvGrp_id").Value & "' AND isnull(mit_username,'') <>'' ORDER BY mit_username", "ADMIN")
f.gdvGruppen.Rows.Clear()
If dt IsNot Nothing Then
For Each r In dt.Rows
f.gdvGruppen.Rows.Add(r("mit_id"), r("mit_username"))
Next
f.Show()
Else
MsgBox("Keine Benutzer gefunden!")
End If
End If
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Dim f As New frmBerechtigungenUser()
f.lbl.Text = "Freigeschaltene Benutzer: " & Me.codename
' MsgBox(Me.progId)
Dim dt = sql.loadDgvBySql("SELECT [mit_id],[mit_username] FROM [ADMIN].[dbo].[tblBerProg] INNER JOIN tblMitarbeiter on mit_id= bepr_userId WHERE bepr_programm='" & Me.codename & "' AND [ber_allowed]=1 AND isnull(mit_username,'') <>''ORDER BY mit_username", "ADMIN")
f.gdvGruppen.Rows.Clear()
If dt IsNot Nothing Then
For Each r In dt.Rows
f.gdvGruppen.Rows.Add(r("mit_id"), r("mit_username"))
Next
f.Show()
Else
MsgBox("Keine Benutzer gefunden!")
End If
End Sub
Private Sub MyTextBox7_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSuche.KeyDown
Dim sqladdon As String = ""
If e.KeyCode = Keys.Enter Then
If txtSuche.Text <> "" Then
sqladdon &= " AND [bero_bezeichnung] like '%" & txtSuche.Text & "%'"
End If
init(sqladdon)
End If
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
If dgvObjekte.SelectedRows.Count = 0 Then Exit Sub
'Gruppe zuordnen
If cboFirma._value = String.Empty Then Exit Sub
If Not IsNumeric(MyTextBox6.Text) Then Exit Sub
Dim BOZ As New VERAG_PROG_ALLGEMEIN.cBerechtigungsObjekteZuordnung
BOZ.beroz_beroId = dgvObjekte.SelectedRows(0).Cells("id").Value
BOZ.beroz_bergrId = cboFirma._value
BOZ.beroz_art = "F"
BOZ.beroz_berechtigungsstufe = MyTextBox7.Text
BOZ.INSERT()
BerechtigungsObjekte.LOAD_LIST()
loadGruppen()
cboFirma.SelectedIndex = 0
MyTextBox6.Text = "0"
End Sub
End Class