Files
ADMIN/UID/Mitarbeiter/usrCntlMitarbeiter.vb
2023-07-21 13:42:51 +02:00

730 lines
27 KiB
VB.net

Imports System.ComponentModel
Imports System.Net
Imports System.Text
Imports System.Windows.Controls
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
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
showTIMAS()
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()
'Paint wieder reaktivieren
locZeilen = -1
If Not Grid_aktiv Then Exit Sub
Dim dt As New DataTable()
dt.Columns.Add("id", GetType(Integer))
dt.Columns.Add("externid", GetType(String))
dt.Columns.Add("pnr1", GetType(String))
dt.Columns.Add("firstname", GetType(String))
dt.Columns.Add("lastname", GetType(String))
dt.Columns.Add("gender", GetType(String))
dt.Columns.Add("card", GetType(Integer))
dt.Columns.Add("info", GetType(String))
Dim timas As New cTimasAPI()
timas.getEmployeeList(dt)
dgvTimasNew.DataSource = dt
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
If TabControl1.SelectedIndex = 0 Then
If dgvVERAG.SelectedRows.Count <> 1 Then Exit Sub
If sender.Name = "UserKopierenToolStripMenuItem" Then
copyUser(dgvVERAG.CurrentRow.Cells(0).Value)
ElseIf sender.Name = "BerechtigungenSetzenToolStripMenuItem" Then
Dim frm As New frmBenutzerBerGruppenKopieren(dgvVERAG.CurrentRow.Cells(0).Value)
frm.Show(Me)
Else
End If
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 = 6 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 "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 Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
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 Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
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
End Class