Files
ADMIN/UID/Mitarbeiter/usrCntlMitarbeiter.vb
2023-09-20 10:18:37 +02:00

839 lines
31 KiB
VB.net

Imports System.ComponentModel
Imports System.Net
Imports System.Text
Imports System.Windows.Controls
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports GrapeCity.Viewer.Common.Model
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.cChilkat_Helper
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
Dim FUNC = New cProgramFunctions
Dim dt As New DataTable()
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")
ElseIf TabControl1.SelectedIndex = 7 Then
If dgvTimasNew IsNot Nothing Then
showTIMAS()
End If
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, isnull(mit_foto_DocId,'') as mit_foto_DocId 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
Public Sub showTIMAS()
locZeilen = -1
If Not Grid_aktiv Then Exit Sub
If dt.Columns.Count > 0 Then
If txtSuche.Text <> "" Then
dt.DefaultView.RowFilter = "Vorname like '%" & txtSuche.Text & "%' or Nachname like '%" & txtSuche.Text & "%' or 'Personal-Nr (Lohn)' like '%" & txtSuche.Text & "%' or Info like '%" & txtSuche.Text & "%'"
Else
dt.DefaultView.RowFilter = Nothing
End If
dgvTimasNew.DataSource = dt
Else
Dim timas As New cTimasAPI()
timas.getEmployeeList(dt)
dgvTimasNew.DataSource = dt
End If
With dgvTimasNew
.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(6).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
End With
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"
'.Columns(9).Visible = False
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
Case 7 : dgv = dgvTimasNew
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, BerechtigungenSetzenToolStripMenuItem.Click
Dim copyUserName As String = "UserKopierenToolStripMenuItem"
Dim setPermissionsName As String = "BerechtigungenSetzenToolStripMenuItem"
If TabControl1.SelectedIndex = 0 Then
If dgvVERAG.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvVERAG.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvVERAG.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 1 Then
If dgvATILLA.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvATILLA.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvATILLA.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 2 Then
If dgvIMEX.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvIMEX.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvIMEX.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 3 Then
If dgvUNISPED.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvUNISPED.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvUNISPED.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 4 Then
If dgvAMBAR.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvAMBAR.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvAMBAR.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 5 Then
If dgvFRONTOFFICE.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvFRONTOFFICE.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvFRONTOFFICE.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
ElseIf TabControl1.SelectedIndex = 6 Then
If dgvVERIMEX.SelectedRows.Count <> 1 Then Exit Sub
Select Case sender.Name
Case copyUserName
copyUser(dgvVERIMEX.CurrentRow.Cells(0).Value)
Case setPermissionsName
Dim frm As New frmBenutzerBerGruppenKopieren(dgvVERIMEX.CurrentRow.Cells(0).Value)
frm.Show(Me)
End Select
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 "dgvVERIMEX"
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.Label1.Text = "Mitarbeiter kopieren"
frmMitarbDetails.txtVname.Text = "Kopie von " & frmMitarbDetails.txtVname.Text
frmMitarbDetails.txtNname.Text = "Kopie von " & frmMitarbDetails.txtNname.Text
frmMitarbDetails.Label48.Text = "00"
'ZUordnungen zu ext. Prog entfernen
frmMitarbDetails.txtPwd.Text = ""
frmMitarbDetails.txtCSPW.Text = ""
frmMitarbDetails.txtCSUser.Text = ""
frmMitarbDetails.txtPwd.Text = ""
'frmMitarbDetails.cboALIASDomain.changeItem("")
frmMitarbDetails.cboALIASDomain2.changeItem("")
frmMitarbDetails.cboPersonal.changeItem("")
frmMitarbDetails.txtALIASUser.Text = ""
frmMitarbDetails.txtALIASUser2.Text = ""
frmMitarbDetails.txtDakosySB.Text = ""
frmMitarbDetails.txtTelotecSB.Text = ""
If frmMitarbDetails.mitarbeiter IsNot Nothing Then
frmMitarbDetails.mitarbeiter.mit_EZOLL_SB = -1
frmMitarbDetails.mitarbeiter.mit_ATLAS_SB = ""
End If
frmMitarbDetails.txtDyFullName.Text = ""
Me.Cursor = Cursors.Default
End Sub
Private Sub copyToClipboardWIKI()
Try
Me.Cursor = Cursors.WaitCursor
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sqlstr As String = "SELECT '|' + mit_vname + '|' + mit_nname + '|' + isnull(mit_niederlassung,'-') + '|' + isnull(mit_abteilung,'-') + '|' + isnull(mit_email,'-') + '|' + isnull(mit_durchwahl,'-') + '|' + CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma + '|' END as Firma FROM tblMitarbeiter WHERE mit_gekuendigt=0 AND [mit_TESTonly]=0 AND [mit_pseudoUser]=0 And isnull(mit_niederlassung,'')<>'' and isnull(mit_abteilung,'')<>'' and isnull(mit_nname,'') <>'' And isnull(mit_vname,'') <>'' Order by mit_id"
Dim sqlstrpic As String = "SELECT isnull(mit_foto_DocId,0) as MAfoto FROM tblMitarbeiter WHERE mit_gekuendigt=0 AND [mit_TESTonly]=0 AND [mit_pseudoUser]=0 And isnull(mit_niederlassung,'') <>'' and isnull(mit_abteilung,'')<>'' and isnull(mit_nname,'') <>'' And isnull(mit_vname,'') <>'' Order by mit_id"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "ADMIN")
Dim dt2 As DataTable = SQL.loadDgvBySql_Param(sqlstrpic, "ADMIN")
dt2.Columns.Add("path", GetType(String))
For Each row As DataRow In dt2.Rows
Dim filename As String
If row.Item("MAfoto") > 0 Then
Dim filePath = New StringBuilder()
Dim file = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(row(0))
Dim filenameFull = New IO.FileInfo(file).Name.ToLower
filePath.Append("|![")
filePath.Append(filenameFull)
filePath.Append("](/mitarbeiterfotos/")
filePath.Append(filenameFull)
filePath.Append(")")
filename = filePath.ToString
Else
filename = "|-"
End If
row.Item("path") = filename
Next
Dim content = New StringBuilder()
content.Append("|Foto|Name|Nachname|Niederlassung|Abteilung|EMail|Telefonnummer|Firma|" & vbNewLine)
content.Append("|-|-|-|-|-|-|-|-|" & vbNewLine)
For Each row As DataRow In dt.Rows
Dim index = dt.Rows.IndexOf(row)
content.Append(dt2.Rows(index).Item("path"))
content.Append(row(0))
content.Append(vbNewLine)
Next
content.Append("{.interactive-table}")
Dim data As New DataObject()
data.SetData(DataFormats.Text, content)
Clipboard.SetDataObject(data)
Me.Cursor = Cursors.Default
MsgBox("Daten in Zwischenablage gespeichert")
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
Me.Cursor = Cursors.Default
End Try
End Sub
Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
ContextMenuStrip1.Hide()
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then
If item.Name = "uploadPuctureToWiki" Then
uploadToWiki()
ElseIf item.Name = "copyToClipboard" Then
copyToClipboardWIKI()
Else
MsgBox("Funktion nicht implementiert!")
End If
End If
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
If Not ContextMenuStrip2.Items.ContainsKey("uploadPuctureToWiki") Then
Dim uploadPictures = New ToolStripMenuItem() With {.Text = "Bilder ins WIKI hochladen", .Name = "uploadPuctureToWiki", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
ContextMenuStrip2.Items.Add(uploadPictures)
AddHandler uploadPictures.Click, AddressOf mnuItem_Clicked
End If
If Not ContextMenuStrip2.Items.ContainsKey("copyToClipboard") Then
Dim copyToClipboard = New ToolStripMenuItem() With {.Text = "In Zwischenablage kopieren", .Name = "copyToClipboard", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
AddHandler copyToClipboard.Click, AddressOf mnuItem_Clicked
ContextMenuStrip2.Items.Add(copyToClipboard)
End If
ContextMenuStrip2.Show(Cursor.Position)
End Sub
Private Sub uploadToWiki()
Me.Cursor = Cursors.WaitCursor
Dim token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGkiOjEsImdycCI6MSwiaWF0IjoxNjg3OTMzNDU3LCJleHAiOjE3MTk0OTEwNTcsImF1ZCI6InVybjp3aWtpLmpzIiwiaXNzIjoidXJuOndpa2kuanMifQ.ul2loFYVHdco2Ia2LcS4nme4PdgcuU6QKrunucECebX5LhcsSyuEg-lKiP2X3JXW57Ym4oCBjamDd5-5uqbQd9hOQ5CDO6yqK2r8TPNxivK29oAl2wfcHaKOe7QNti0yRlMpomJjc_5qaegeeLjN5w-lYbbqtSz_6y8GkPPr0P3l4coIk5IzngGazj8XLYGGN6y5qT4s8IR0sNhfz0hJAlIeVTeFKl8KFZMpFKvBnOjkL0GYOYjrHzPLSUAhe8hCGVcA7rWsweVjjvOclFDDFwZ0SwOY0TZqvz-LOsZ3V7ucQaT3flAjuHiEhODGJguQRBs67U8lVO2cxbJJyR3FUA"
Dim dgv As New DataGridView
If TabControl1.SelectedIndex = 0 Then
dgv = dgvVERAG
ElseIf TabControl1.SelectedIndex = 1 Then
dgv = dgvATILLA
ElseIf TabControl1.SelectedIndex = 2 Then
dgv = dgvIMEX
ElseIf TabControl1.SelectedIndex = 3 Then
dgv = dgvUNISPED
ElseIf TabControl1.SelectedIndex = 4 Then
dgv = dgvAMBAR
ElseIf TabControl1.SelectedIndex = 5 Then
dgv = dgvFRONTOFFICE
ElseIf TabControl1.SelectedIndex = 6 Then
dgv = dgvVERIMEX
End If
For Each row As DataGridViewRow In dgv.Rows
If row.Cells("mit_foto_DocId").Value > 0 Then
Dim file = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(row.Cells("mit_foto_DocId").Value)
Dim succeess = uploadPictureToWIKI(token, 4, file) 'Folder 4 -> Mitarbeiterfotos
End If
Next
Me.Cursor = Cursors.Default
Try
Catch ex As Exception
Me.Cursor = Cursors.Default
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Private Function uploadPictureToWIKI(authenticationToken As String, folderIDx As Integer, image As String) As String
Try
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim API_STRING = "https://wiki.verag.ag"
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim failureDesc As String
rest.VerboseLogging = True
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
failureDesc = rest.LastErrorText
Return failureDesc
End If
API_STRING &= "/u"
rest.AddHeader("Authorization", "Bearer " & authenticationToken)
rest.AddHeader("Content-Type", "multipart/form-data")
Dim filename = New IO.FileInfo(image).Name
Dim fileStream As New Chilkat.Stream
fileStream.SourceFile = image
rest.PartSelector = "1"
rest.AddHeader("Content-Disposition", "form-data; name=""mediaUpload""")
rest.AddHeader("Content-Type", "text")
Dim json As New Chilkat.JsonObject
success = json.AddIntAt(-1, "folderId", folderIDx)
Debug.WriteLine(json.Emit())
success = rest.SetMultipartBodyString(json.Emit())
rest.PartSelector = "2"
rest.AddHeader("Content-Disposition", "form-data; name=""mediaUpload""; filename=""" & filename & """")
rest.AddHeader("Content-Type", "image/jpeg")
success = rest.SetMultipartBodyStream(fileStream)
Dim responseBody As String = rest.FullRequestMultipart("POST", API_STRING)
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return rest.LastErrorText
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
Return rest.ResponseStatusCode & " " & rest.ResponseStatusText
Else
Debug.WriteLine("File uploaded")
End If
rest.ClearAllHeaders()
rest.ClearAllParts()
rest.PartSelector = ""
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Private Sub dgvTimasNew_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvTimasNew.CellDoubleClick
Me.Cursor = Cursors.WaitCursor
'neue GUI für Änderungen im Timas
Dim frmMitarbDetails As New frmMitarbTimas()
frmMitarbDetails.mid = sender.CurrentRow.Cells(0).Value
frmMitarbDetails.Show(Me)
sender.RELOAD()
Me.Cursor = Cursors.Default
End Sub
End Class