Imports System.ComponentModel Imports GrapeCity.Viewer.Common.Model Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN.TESTJSON Public Class usrCntlMitarbeiter Dim ConnStr As String Private UID As New cMitarbeiter Private cOptionenDAL As New cOptionenDAL Private Grid_aktiv As Boolean = False Private Anzahl As Integer Private locZeilen As Integer = -1 Public mid As Integer = -1 Private Sub uctrlMitarbeiter_Load(sender As Object, e As EventArgs) Handles MyBase.Load ConnStr = frmMain.ConnStr Try ' Me.Size = My.Settings.frmMainSize ' Me.Location = My.Settings.frmMainPosition Catch ex As Exception 'nix tun - Standardgröße wird somit automatisch gesetzt End Try Grid_aktiv = True Tabelle_anzeigen() txtSuche.Focus() End Sub Public Sub Tabelle_anzeigen() If TabControl1.SelectedIndex = 0 Then showVERAGATILLA("VERAG") ElseIf TabControl1.SelectedIndex = 1 Then showVERAGATILLA("ATILLA") ElseIf TabControl1.SelectedIndex = 2 Then showVERAGATILLA("IMEX") ElseIf TabControl1.SelectedIndex = 3 Then showVERAGATILLA("UNISPED") ElseIf TabControl1.SelectedIndex = 4 Then showVERAGATILLA("AMBAR") ElseIf TabControl1.SelectedIndex = 5 Then showVERAGATILLA("FRONTOFFICE") ElseIf TabControl1.SelectedIndex = 6 Then showVERAGATILLA("VERIMEX") End If End Sub Public Sub showVERAGATILLA(firma) 'Paint wieder reaktivieren locZeilen = -1 If Not Grid_aktiv Then Exit Sub Dim sql As String = "SELECT mit_id,mit_username,mit_vname, mit_nname ,mit_niederlassung,mit_abteilung,mit_email,mit_durchwahl,mit_gekuendigt FROM tblMitarbeiter WHERE (mit_firma='" & firma & "' OR (mit_firma='ALL' AND mit_FirmaHaupt='" & firma & "' )) " If txtSuche.Text <> "" Then sql &= " AND (mit_username LIKE '%" & txtSuche.Text & "%' OR mit_nname LIKE '%" & txtSuche.Text & "%' OR mit_vname LIKE '%" & txtSuche.Text & "%') " End If If cbx.CheckState <> CheckState.Indeterminate Then sql &= " AND mit_gekuendigt=" & IIf(cbx.Checked, 1, 0) End If If firma = "VERAG" Then ' dgvVERAG.DataSource = UID.AnzeigeTabelleFirma(sql) dgvVERAG.SET_SQL(sql, "ADMIN") dgvVERAG.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvVERAG.RowCount = 0 Then dgvVERAG.DataSource = Nothing Else sortDGV(dgvVERAG) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvVERAG.Sort(dgvVERAG.Columns(3), ListSortDirection.Ascending) End If ElseIf firma = "ATILLA" Then ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) dgvATILLA.SET_SQL(sql, "ADMIN") dgvATILLA.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvATILLA.RowCount = 0 Then dgvATILLA.DataSource = Nothing Else sortDGV(dgvATILLA) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvATILLA.Sort(dgvATILLA.Columns(3), ListSortDirection.Ascending) End If ElseIf firma = "IMEX" Then ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) dgvIMEX.SET_SQL(sql, "ADMIN") dgvIMEX.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvIMEX.RowCount = 0 Then dgvIMEX.DataSource = Nothing Else sortDGV(dgvIMEX) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvIMEX.Sort(dgvIMEX.Columns(3), ListSortDirection.Ascending) End If ElseIf firma = "UNISPED" Then ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) dgvUNISPED.SET_SQL(sql, "ADMIN") dgvUNISPED.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvUNISPED.RowCount = 0 Then dgvUNISPED.DataSource = Nothing Else sortDGV(dgvUNISPED) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvUNISPED.Sort(dgvUNISPED.Columns(3), ListSortDirection.Ascending) End If ElseIf firma = "AMBAR" Then ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) dgvAMBAR.SET_SQL(sql, "ADMIN") dgvAMBAR.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvAMBAR.RowCount = 0 Then dgvAMBAR.DataSource = Nothing Else sortDGV(dgvAMBAR) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvAMBAR.Sort(dgvAMBAR.Columns(3), ListSortDirection.Ascending) End If ElseIf firma = "FRONTOFFICE" Then ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) dgvFRONTOFFICE.SET_SQL(sql, "ADMIN") dgvFRONTOFFICE.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvFRONTOFFICE.RowCount = 0 Then dgvFRONTOFFICE.DataSource = Nothing Else sortDGV(dgvFRONTOFFICE) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvFRONTOFFICE.Sort(dgvFRONTOFFICE.Columns(3), ListSortDirection.Ascending) End If ElseIf firma = "VERIMEX" Then ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) dgvVERIMEX.SET_SQL(sql, "ADMIN") dgvVERIMEX.LOAD() 'Tabelle Kommt/Geht bereinigen If dgvVERIMEX.RowCount = 0 Then dgvVERIMEX.DataSource = Nothing Else sortDGV(dgvVERIMEX) 'Eintraege_festlegen() 'AL: Sortierung nach Ausfahrt (Zeit) dgvVERIMEX.Sort(dgvVERIMEX.Columns(3), ListSortDirection.Ascending) End If End If End Sub Private Sub sortDGV(dgv As DataGridView) With dgv .RowTemplate.Height = 20 .RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft .AllowUserToAddRows = False .AllowUserToDeleteRows = False .AllowUserToOrderColumns = False .AllowUserToResizeColumns = False .AllowUserToResizeRows = False .RowTemplate.ReadOnly = True .RowHeadersVisible = False .SelectionMode = DataGridViewSelectionMode.FullRowSelect .AllowUserToOrderColumns = True .Columns(0).Visible = False 'ID nicht anzeigen .Columns(1).Width = 150 .Columns(1).HeaderText = "Username" .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns(2).Width = 100 .Columns(2).HeaderText = "Vorname" .Columns(3).Width = 130 .Columns(3).HeaderText = "Nachname" .Columns(4).Width = 85 .Columns(4).HeaderText = "Niederlassung" .Columns(5).Width = 85 .Columns(5).HeaderText = "Abteilung" .Columns(6).Width = 120 .Columns(6).HeaderText = "Email" .Columns(7).Width = 120 .Columns(7).HeaderText = "TelefonNr." .Columns(8).Width = 80 .Columns(8).HeaderText = "Gekündigt" End With End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim Firma = "" Select Case TabControl1.SelectedIndex Case 0 : Firma = "VERAG" Case 1 : Firma = "ATILLA" Case 2 : Firma = "IMEX" Case 3 : Firma = "UNISPED" Case 4 : Firma = "AMBAR" Case 5 : Firma = "FRONTOFFICE" Case 6 : Firma = "VERIMEX" End Select Dim frmMitarbDetails As New frmMitarbDetails(Firma) frmMitarbDetails.Show() AddHandler frmMitarbDetails.FormClosing, AddressOf handleClose End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim frmMitarbDetails As New frmMitarbDetails frmMitarbDetails.mid = dgvVERAG.CurrentRow.Cells(0).Value frmMitarbDetails.Show() AddHandler frmMitarbDetails.FormClosing, AddressOf handleClose End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click If TabControl1.SelectedIndex = 0 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvVERAG.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvVERAG.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select ElseIf TabControl1.SelectedIndex = 1 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvATILLA.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvATILLA.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select ElseIf TabControl1.SelectedIndex = 2 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvIMEX.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvIMEX.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select ElseIf TabControl1.SelectedIndex = 3 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvUNISPED.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvUNISPED.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select ElseIf TabControl1.SelectedIndex = 4 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvAMBAR.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvAMBAR.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select ElseIf TabControl1.SelectedIndex = 5 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvFRONTOFFICE.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvFRONTOFFICE.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select ElseIf TabControl1.SelectedIndex = 5 Then Select Case MsgBox("Soll der Mitarbeiter '" & dgvVERIMEX.CurrentRow.Cells(1).Value & "' wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?") Case vbYes UID.delData(Convert.ToInt32(dgvVERIMEX.CurrentRow.Cells(0).Value)) Tabelle_anzeigen() Case vbNo End Select End If End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Dim l As IList(Of VERAG_PROG_ALLGEMEIN.cMitarbeiter) l = cOptionenDAL.getDataMitarb() frmPrintView.Show() frmPrintView.BefüllenMitarb(l) End Sub Private Sub handleClose() Tabelle_anzeigen() frmMain.BringToFront() End Sub Private Sub dgvIMEX_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvIMEX.CellDoubleClick, dgvUNISPED.CellDoubleClick, dgvAMBAR.CellDoubleClick, dgvVERAG.CellDoubleClick, dgvATILLA.CellDoubleClick, dgvFRONTOFFICE.CellDoubleClick, dgvVERIMEX.CellDoubleClick Me.Cursor = Cursors.WaitCursor Dim frmMitarbDetails As New frmMitarbDetails frmMitarbDetails.mid = sender.CurrentRow.Cells(0).Value frmMitarbDetails.Show(Me) sender.RELOAD() Me.Cursor = Cursors.Default ' AddHandler frmMitarbDetails.FormClosing, AddressOf handleClose End Sub Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged txtSuche.Text = "" txtSuche.Focus() Tabelle_anzeigen() End Sub Private Sub txtSuche_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSuche.KeyDown Dim dgv As DataGridView = Nothing Select Case TabControl1.SelectedIndex Case 0 : dgv = dgvVERAG Case 1 : dgv = dgvATILLA Case 2 : dgv = dgvIMEX Case 3 : dgv = dgvUNISPED Case 4 : dgv = dgvAMBAR Case 5 : dgv = dgvFRONTOFFICE Case 6 : dgv = dgvVERIMEX End Select If e.KeyCode = Keys.Return Then If dgv.SelectedRows.Count > 0 Then dgvIMEX_CellContentClick(dgv, New DataGridViewCellEventArgs(0, dgv.SelectedRows(0).Index)) End If End If End Sub Private Sub txtSuche_TextChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged Tabelle_anzeigen() End Sub Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbx.CheckStateChanged Tabelle_anzeigen() End Sub Private Sub UserKopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UserKopierenToolStripMenuItem.Click If TabControl1.SelectedIndex = 0 Then If dgvVERAG.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvVERAG.CurrentRow.Cells(0).Value) ElseIf TabControl1.SelectedIndex = 1 Then If dgvATILLA.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvATILLA.CurrentRow.Cells(0).Value) ElseIf TabControl1.SelectedIndex = 2 Then If dgvIMEX.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvIMEX.CurrentRow.Cells(0).Value) ElseIf TabControl1.SelectedIndex = 3 Then If dgvUNISPED.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvUNISPED.CurrentRow.Cells(0).Value) ElseIf TabControl1.SelectedIndex = 4 Then If dgvAMBAR.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvAMBAR.CurrentRow.Cells(0).Value) ElseIf TabControl1.SelectedIndex = 5 Then If dgvFRONTOFFICE.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvFRONTOFFICE.CurrentRow.Cells(0).Value) ElseIf TabControl1.SelectedIndex = 5 Then If dgvVERIMEX.SelectedRows.Count <> 1 Then Exit Sub copyUser(dgvVERIMEX.CurrentRow.Cells(0).Value) End If End Sub Private Sub dgvVerag_CellMouseDown(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) Handles dgvVERAG.CellMouseDown, dgvVERIMEX.CellMouseDown, dgvUNISPED.CellMouseDown, dgvIMEX.CellMouseDown, dgvFRONTOFFICE.CellMouseDown, dgvATILLA.CellMouseDown, dgvAMBAR.CellMouseDown If e.Button = Windows.Forms.MouseButtons.Right AndAlso e.RowIndex > -1 Then Dim rowClicked As DataGridView.HitTestInfo Select Case sender.name Case "dgvVERAG" rowClicked = dgvVERAG.HitTest(e.X, e.Y) dgvVERAG.ClearSelection() Me.dgvVERAG.Rows(e.RowIndex).Selected = True Case "dgvVERIMEX" rowClicked = dgvVERIMEX.HitTest(e.X, e.Y) dgvVERIMEX.ClearSelection() Me.dgvVERIMEX.Rows(e.RowIndex).Selected = True Case "dgvUNISPED" rowClicked = dgvUNISPED.HitTest(e.X, e.Y) dgvUNISPED.ClearSelection() Me.dgvUNISPED.Rows(e.RowIndex).Selected = True Case "dgvIMEX" rowClicked = dgvIMEX.HitTest(e.X, e.Y) dgvIMEX.ClearSelection() Me.dgvIMEX.Rows(e.RowIndex).Selected = True Case "dgvFRONTOFFICE" rowClicked = dgvFRONTOFFICE.HitTest(e.X, e.Y) dgvFRONTOFFICE.ClearSelection() Me.dgvFRONTOFFICE.Rows(e.RowIndex).Selected = True Case "dgvATILLA" rowClicked = dgvATILLA.HitTest(e.X, e.Y) dgvATILLA.ClearSelection() Me.dgvATILLA.Rows(e.RowIndex).Selected = True Case Else rowClicked = dgvAMBAR.HitTest(e.X, e.Y) dgvAMBAR.ClearSelection() Me.dgvAMBAR.Rows(e.RowIndex).Selected = True End Select ContextMenuStrip1.Show(MousePosition.X, MousePosition.Y) End If End Sub Private Sub copyUser(id As Integer) Me.Cursor = Cursors.WaitCursor Dim frmMitarbDetails As New frmMitarbDetails() frmMitarbDetails.mid = id frmMitarbDetails.Show(Me) frmMitarbDetails.isUpdate = False frmMitarbDetails.txtVname.Text = "Kopie von" & frmMitarbDetails.txtVname.Text Me.Cursor = Cursors.Default End Sub End Class