This commit is contained in:
2023-09-20 10:54:20 +02:00
13 changed files with 769 additions and 201 deletions

View File

@@ -13,6 +13,7 @@ Public Class cAvisoAnhaenge
Property anh_LaufzettelDruck As Boolean = False
Property anh_GestellungslisteAnfuegen As Boolean = False
Property anh_markiert As Boolean = False
Property anh_size As Double
Public hasEntry As Boolean = False
@@ -29,7 +30,7 @@ Public Class cAvisoAnhaenge
' End If
End Sub
Sub New(anh_AvisoId, anh_Name, anh_docId, anh_Art, anh_Typ, Optional anh_SendungsId = Nothing, Optional anh_Reihenfolge = 99)
Sub New(anh_AvisoId, anh_Name, anh_docId, anh_Art, anh_Typ, Optional anh_SendungsId = Nothing, Optional anh_Reihenfolge = 99, Optional anh_size = 0)
Me.anh_AvisoId = anh_AvisoId
Me.anh_SendungsId = anh_SendungsId
Me.anh_Name = anh_Name
@@ -37,6 +38,7 @@ Public Class cAvisoAnhaenge
Me.anh_Art = anh_Art
Me.anh_Typ = anh_Typ
Me.anh_Reihenfolge = anh_Reihenfolge
Me.anh_size = anh_size
If anh_Art.ToString.Equals("Auftrag") Then
anh_markiert = True
@@ -60,6 +62,7 @@ Public Class cAvisoAnhaenge
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_LaufzettelDruck", anh_LaufzettelDruck))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_GestellungslisteAnfuegen", anh_GestellungslisteAnfuegen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_markiert", anh_markiert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_size", anh_size))
Return list
End Function

View File

@@ -0,0 +1,119 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cFremdwaehrungskurse
Property fw_id As String
Property fw_iso2 As String
Property fw_iso3 As String
Property fw_land As String
Property fw_startdatum As Date
Property fw_enddatum As Date
Property fw_kurswert As Double
Dim SQL As New SQL
Sub New()
End Sub
Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_id", fw_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_iso2", fw_iso2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_iso3", fw_iso3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_land", fw_land))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_startdatum", fw_startdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_enddatum", fw_enddatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_kurswert", fw_kurswert))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblZOLL_Wechselkurse WITH(updlock,serializable) WHERE fw_id=@fw_id AND fw_startdatum=@fw_startdatum AND fw_enddatum=@fw_enddatum ) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblZOLL_Wechselkurse] SET " & str & " WHERE fw_id=@fw_id AND fw_startdatum=@fw_startdatum AND fw_enddatum=@fw_enddatum")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblZOLL_Wechselkurse (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
'Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
' Dim sqlstr = " DELETE FROM [tblEZB_Waehrungskurse] WITH(updlock,serializable) WHERE ezb_waehrungscode='" & ezb_waehrungscode & "' AND ezb_datum='" & ezb_datum & "' "
' Return SQL.doSQL(sqlstr, "FMZOLL")
'End Function
'Shared Function UPDATE_Waehrungstabelle(datum As Date) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
' Dim sqlstr = " UPDATE [Währungstabelle] SET [Währungstabelle].Eurokurs=tblEZB_Waehrungskurse.ezb_kurs
' FROM [Währungstabelle] inner join tblEZB_Waehrungskurse on [Währungstabelle].Währungsschlüssel=tblEZB_Waehrungskurse.ezb_waehrungsschluessel where tblEZB_Waehrungskurse.ezb_datum='" & datum.ToShortDateString & "' "
' Return (New SQL).doSQL(sqlstr, "FMZOLL")
'End Function
'Shared Function GET_KURS(ezb_waehrungscode As String, datum As Date) As Double
' Dim sqlstr = " SELECT TOP 1 [ezb_kurs] FROM [tblEZB_Waehrungskurse] where ezb_waehrungscode='" & ezb_waehrungscode & "' and ezb_datum<='" & datum.ToShortTimeString & "' order by ezb_datum desc"
' Return (New SQL).getValueTxtBySql(sqlstr, "FMZOLL",,, 0)
'End Function
'Shared Function EXCHANGE(betrag As Double, waehrungscode As String, datum As Date) As Double
' Dim sqlstr = " SELECT TOP 1 [ezb_kurs] FROM [tblEZB_Waehrungskurse] where ezb_waehrungscode='" & waehrungscode & "' and ezb_datum<='" & datum.ToShortTimeString & "' order by ezb_datum desc"
' Return (New SQL).getValueTxtBySql(sqlstr, "FMZOLL",,, 0) * betrag
'End Function
End Class

View File

@@ -85,6 +85,9 @@ Public Class cMitarbeiter
Property mit_timasId As Object = Nothing
Property mit_ATGRNAccessCode_AT51FP7 As Object = Nothing
Property mit_ATGRNAccessCode_AT52VA6 As Object = Nothing
Property mit_Sprachkentnisse As Object = Nothing
@@ -188,6 +191,7 @@ Public Class cMitarbeiter
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_timasId", mit_timasId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ATGRNAccessCode_AT51FP7", mit_ATGRNAccessCode_AT51FP7))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ATGRNAccessCode_AT52VA6", mit_ATGRNAccessCode_AT52VA6))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_Sprachkentnisse", mit_Sprachkentnisse))
Return list
@@ -381,6 +385,7 @@ Public Class cMitarbeiter
If Not dr.Item("mit_timasId") Is DBNull.Value Then Me.mit_timasId = dr.Item("mit_timasId")
If Not dr.Item("mit_ATGRNAccessCode_AT51FP7") Is DBNull.Value Then Me.mit_ATGRNAccessCode_AT51FP7 = dr.Item("mit_ATGRNAccessCode_AT51FP7")
If Not dr.Item("mit_ATGRNAccessCode_AT52VA6") Is DBNull.Value Then Me.mit_ATGRNAccessCode_AT52VA6 = dr.Item("mit_ATGRNAccessCode_AT52VA6")
If Not dr.Item("mit_Sprachkentnisse") Is DBNull.Value Then Me.mit_Sprachkentnisse = dr.Item("mit_Sprachkentnisse")
Catch ex As Exception

View File

@@ -473,7 +473,7 @@ Public Class frmMessenger
SplitContainer3.Panel1Collapsed = False
initDGVMembers()
Else
lblChatName.Text = SQL.getValueTxtBySql("SELECT isnull(mit_vname,'') + ' ' + isnull(mit_nname,'') FROM [tblMessenger_ChatMembers] inner join tblMitarbeiter on mit_id=chatMb_maId where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN")
lblChatName.Text = SQL.getValueTxtBySql("SELECT isnull(mit_vname,'') + ' ' + isnull(mit_nname,'') + ' '+ isnull('('+ mit_Sprachkentnisse +')','')FROM [tblMessenger_ChatMembers] inner join tblMitarbeiter on mit_id=chatMb_maId where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN")
btnTeilnehmer.BackgroundImage = My.Resources.person
SplitContainer3.Panel1Collapsed = True

View File

@@ -30,7 +30,7 @@ Public Class frmMessenger_NeuerChat
If Not loaded Then Exit Sub
With dgvMitarbeiter
Dim FirmaTMP = MyComboBox1._value
Dim sqlStr = "SELECT TOP (1000) [mit_id],[mit_nname] + ' ' + [mit_vname] + ' (' + mit_niederlassung + ')' as MAname,CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as mit_firma FROM [tblMitarbeiter]"
Dim sqlStr = "SELECT TOP (1000) [mit_id],[mit_nname] + ' ' + [mit_vname] + ' (' + mit_niederlassung + ')' as MAname, isnull(mit_Sprachkentnisse,'') as Sprache ,CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as mit_firma FROM [tblMitarbeiter]"
sqlStr &= " WHERE mit_gekuendigt=0 AND /*mit_abteilung IN ('QS','ZOLL','DISPO') AND*/ [mit_TESTonly]=0 AND [mit_pseudoUser]=0 AND [mit_ChatBenutzer]=1 "
If MyComboBox1._value <> "" Then sqlStr &= " AND mit_firma IN ('" & FirmaTMP & "','BEIDE','ALLE','ALL')"
If MyTextBox1.Text <> "" Then sqlStr &= " AND (mit_nname LIKE '" & MyTextBox1.Text & "%' OR mit_vname LIKE '" & MyTextBox1.Text & "%' )"

View File

@@ -31,6 +31,8 @@ Partial Class frmMitarbeitersucheEinstellungen
Me.btn = New System.Windows.Forms.Button()
Me.lblName = New System.Windows.Forms.Label()
Me.pic = New System.Windows.Forms.PictureBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.lbSprachen = New VERAG_PROG_ALLGEMEIN.MyListBox()
Me.pnlSrch.SuspendLayout()
Me.pnlMain.SuspendLayout()
CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -67,6 +69,8 @@ Partial Class frmMitarbeitersucheEinstellungen
'pnlMain
'
Me.pnlMain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pnlMain.Controls.Add(Me.lbSprachen)
Me.pnlMain.Controls.Add(Me.Label2)
Me.pnlMain.Controls.Add(Me.cboTeam)
Me.pnlMain.Controls.Add(Me.Label1)
Me.pnlMain.Controls.Add(Me.btn)
@@ -85,7 +89,7 @@ Partial Class frmMitarbeitersucheEinstellungen
Me.cboTeam._value = ""
Me.cboTeam.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
Me.cboTeam.FormattingEnabled = True
Me.cboTeam.Location = New System.Drawing.Point(264, 96)
Me.cboTeam.Location = New System.Drawing.Point(270, 61)
Me.cboTeam.Name = "cboTeam"
Me.cboTeam.Size = New System.Drawing.Size(421, 32)
Me.cboTeam.TabIndex = 35
@@ -93,7 +97,7 @@ Partial Class frmMitarbeitersucheEinstellungen
'Label1
'
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
Me.Label1.Location = New System.Drawing.Point(182, 100)
Me.Label1.Location = New System.Drawing.Point(174, 65)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(76, 28)
Me.Label1.TabIndex = 34
@@ -103,9 +107,9 @@ Partial Class frmMitarbeitersucheEinstellungen
'
Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
Me.btn.Location = New System.Drawing.Point(264, 222)
Me.btn.Location = New System.Drawing.Point(503, 222)
Me.btn.Name = "btn"
Me.btn.Size = New System.Drawing.Size(421, 51)
Me.btn.Size = New System.Drawing.Size(182, 51)
Me.btn.TabIndex = 32
Me.btn.Text = "Speichern"
Me.btn.UseVisualStyleBackColor = True
@@ -132,7 +136,28 @@ Partial Class frmMitarbeitersucheEinstellungen
Me.pic.TabIndex = 0
Me.pic.TabStop = False
'
'frmMitarbeitersucheBearbeiten
'Label2
'
Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
Me.Label2.Location = New System.Drawing.Point(174, 98)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(90, 28)
Me.Label2.TabIndex = 36
Me.Label2.Text = "Sprache:"
'
'lbSprachen
'
Me.lbSprachen._value = ""
Me.lbSprachen.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lbSprachen.FormattingEnabled = True
Me.lbSprachen.Location = New System.Drawing.Point(270, 98)
Me.lbSprachen.MultiColumn = True
Me.lbSprachen.Name = "lbSprachen"
Me.lbSprachen.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple
Me.lbSprachen.Size = New System.Drawing.Size(192, 121)
Me.lbSprachen.TabIndex = 98
'
'frmMitarbeitersucheEinstellungen
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
@@ -142,7 +167,7 @@ Partial Class frmMitarbeitersucheEinstellungen
Me.Controls.Add(Me.pnlSrch)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmMitarbeitersucheBearbeiten"
Me.Name = "frmMitarbeitersucheEinstellungen"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "frmMitarbeitersuche"
Me.pnlSrch.ResumeLayout(False)
@@ -160,4 +185,6 @@ Partial Class frmMitarbeitersucheEinstellungen
Friend WithEvents btn As Windows.Forms.Button
Friend WithEvents cboTeam As MyComboBox
Friend WithEvents Label1 As Windows.Forms.Label
Friend WithEvents Label2 As Windows.Forms.Label
Friend WithEvents lbSprachen As MyListBox
End Class

View File

@@ -21,6 +21,8 @@ Public Class frmMitarbeitersucheEinstellungen
cboTeam.fillWithSQL("SELECT team_id, team_bezeichnung FROM tblTeams WHERE team_firma='" & MA.mit_firma & "'", False, "ADMIN", True)
lbSprachen.fillWithSQL("SELECT [wert], [bezeichnung] FROM [dbo].[tblSprachen]", False, "ADMIN")
initMA()
End Sub
@@ -49,7 +51,21 @@ Public Class frmMitarbeitersucheEinstellungen
pic.BackgroundImage = My.Resources.personGray_m
End If
End Sub
If MA.mit_Sprachkentnisse IsNot Nothing AndAlso MA.mit_Sprachkentnisse <> "" Then
For Each f In MA.mit_Sprachkentnisse.ToString.Split(",")
For i = 0 To lbSprachen.Items.Count - 1
If DirectCast(lbSprachen.Items(i), VERAG_PROG_ALLGEMEIN.MyListItem).Value.ToString = f.ToString Then
lbSprachen.SetSelected(i, True)
End If
Next
Next
End If
End Sub
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
Me.Close()
@@ -63,6 +79,19 @@ Public Class frmMitarbeitersucheEinstellungen
If MA.mit_id <= 0 Then MsgBox("Fehler ID!") : Exit Sub
MA.mit_Sprachkentnisse = ""
If MA.mit_Sprachkentnisse = "" Then
For Each i In lbSprachen.SelectedItems
MA.mit_Sprachkentnisse &= DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value & ","
Next
End If
If MA.mit_Sprachkentnisse <> "" And MA.mit_Sprachkentnisse.ToString.EndsWith(",") Then
MA.mit_Sprachkentnisse = MA.mit_Sprachkentnisse.ToString.Substring(0, MA.mit_Sprachkentnisse.ToString.Length - 1)
End If
If MA.SAVE Then
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()

View File

@@ -1,4 +1,8 @@
Imports System.Net
Imports System.Diagnostics.Tracing
Imports System.Net
Imports System.Runtime.Remoting
Imports System.Threading
Imports System.Windows.Forms
Public Class cTimasAPI
@@ -15,26 +19,26 @@ Public Class cTimasAPI
Try
Dim success As Boolean
rest.VerboseLogging = False
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)
failureText = rest.LastErrorText
Return False
End If
rest.VerboseLogging = False
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)
failureText = rest.LastErrorText
Return False
End If
success = rest.SetAuthBasic("admin", "BmWr501956")
success = rest.SetAuthBasic("admin", "BmWr501956")
If (success <> True) Then
Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
failureText = rest.LastErrorText
Return False
End If
If (success <> True) Then
Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
failureText = rest.LastErrorText
Return False
End If
Return True
@@ -200,7 +204,7 @@ Public Class cTimasAPI
End Sub
Public Function createMA(ByVal mitarbeiter As cMitarbeiter, ByRef info As String, ByRef datatableTimas As DataTable, Optional ByRef requestDone As Boolean = False)
Public Function createEmployee(ByVal mitarbeiter As cMitarbeiter, ByRef info As String, ByRef datatableTimas As DataTable, Optional ByRef requestDone As Boolean = False)
Try
rest.ClearAllHeaders()
@@ -229,8 +233,6 @@ Public Class cTimasAPI
success = json.UpdateString("gender", IIf(mitarbeiter.mit_geschlecht = "m", "male", "female"))
success = json.UpdateInt("card", mitarbeiter.mit_id)
success = json.UpdateString("info", mitarbeiter.mit_firma & " - " & mitarbeiter.mit_abteilung)
'success = json.UpdateString("clientNumber", "5600-02")
'success = json.UpdateInt("rfid", 178230359)
If mitarbeiter.mit_gebdat <> "" And IsDate(mitarbeiter.mit_gebdat) Then
success = json.UpdateString("birthday", CDate(mitarbeiter.mit_gebdat).ToString("yyyy-MM-dd"))
End If
@@ -349,7 +351,6 @@ Public Class cTimasAPI
Debug.WriteLine(json.LastErrorText)
End If
Debug.WriteLine(json)
info &= IIf(json.StringOf("entry") <> "", "Startdatum: " & json.StringOf("entry") & vbNewLine, "")
info &= IIf(json.StringOf("externid") <> "", "MA-ID: " & json.StringOf("externid") & vbNewLine, "")
info &= IIf(json.StringOf("pnr1") <> "", "PersonalNr: " & json.StringOf("pnr1") & vbNewLine, "")
@@ -362,14 +363,288 @@ Public Class cTimasAPI
info &= IIf(json.StringOf("password") <> "", "PW: " & json.StringOf("password"), "")
End If
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Sub getGroups(ByRef dt As DataTable)
Public Function getEmployee(mitarbeiterID As String) As cTimasEmployee
Try
If Not checkConnectionTImas("") Then
Return Nothing
End If
Dim responseJson As String = rest.FullRequestNoBody("GET", "/rest/web-api/employees/" & mitarbeiterID)
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return Nothing
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
MsgBox(rest.ResponseStatusCode & " " & rest.ResponseStatusText)
Return Nothing
End If
Debug.WriteLine(responseJson)
Dim json As New Chilkat.JsonObject
Dim success = json.Load(responseJson)
If (success <> True) Then
Debug.WriteLine(json.LastErrorText)
End If
Dim emp As New cTimasEmployee()
emp.ID = json.StringOf("id")
emp.externid = json.StringOf("externid")
emp.pnr1 = json.StringOf("pnr1")
emp.pnr2 = json.StringOf("pnr2")
emp.firstname = json.StringOf("firstname")
emp.lastname = json.StringOf("lastname")
emp.gender = json.StringOf("gender")
emp.clientNumber = json.StringOf("clientNumber")
emp.card = json.StringOf("card")
emp.info = json.StringOf("info")
emp.rfid = json.StringOf("rfid")
emp.login = json.StringOf("login")
emp.email = json.StringOf("email")
emp.loginActive = json.BoolOf("loginActive")
emp.password = json.StringOf("password")
emp.street = json.StringOf("street")
emp.zipcode = json.StringOf("zipcode")
emp.city = json.StringOf("city")
emp.phone1 = json.StringOf("phone1")
emp.phone2 = json.StringOf("phone2")
Debug.WriteLine(json.StringOf("birthday"))
If (json.StringOf("birthday") <> "null") Then
emp.birthdayDate = CDate(json.StringOf("birthday")).ToString("yyyy-MM-dd")
End If
If (json.StringOf("entry") <> "null") Then
emp.entryDate = CDate(json.StringOf("entry")).ToString("yyyy-MM-dd")
End If
If (json.StringOf("exit") <> "null") Then
emp.exitDate = CDate(json.StringOf("exit")).ToString("yyyy-MM-dd")
End If
Dim groups As Chilkat.JsonArray = json.ArrayOf("groups")
If (json.LastMethodSuccess = False) Then
Debug.WriteLine("groups member not found.")
End If
emp.Gruppen = New List(Of cTimasGruppe)
Dim numGroups As Integer = groups.Size
Dim i As Integer = 0
While i < numGroups
Dim TIMASGroups As New cTimasGruppe(emp.ID)
TIMASGroups.Id = groups.IntAt(i)
emp.Gruppen.Add(TIMASGroups)
i = i + 1
End While
Debug.WriteLine(json)
Return emp
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Public Function updateEmployee(emp As cTimasEmployee, dgv As DataGridView) As Boolean
Try
Dim success As Boolean
If True Then
If Not checkConnectionTImas("") Then
Return Nothing
End If
Dim json As New Chilkat.JsonObject
success = json.UpdateString("externid", emp.externid)
success = json.UpdateString("pnr1", emp.pnr1)
success = json.UpdateString("pnr2", emp.pnr2)
success = json.UpdateString("firstname", emp.firstname)
success = json.UpdateString("lastname", emp.lastname)
success = json.UpdateString("gender", emp.gender)
success = json.UpdateString("card", emp.card)
success = json.UpdateString("info", emp.info)
success = json.UpdateString("rfid", emp.rfid)
success = json.UpdateString("login", emp.login)
success = json.UpdateString("email", emp.email)
success = json.UpdateBool("loginActive", emp.loginActive)
success = json.UpdateString("password", emp.password)
success = json.UpdateString("street", emp.street)
success = json.UpdateString("city", emp.city)
success = json.UpdateString("phone1", emp.phone1)
success = json.UpdateString("phone2", emp.phone2)
If IsDate(emp.birthdayDate) Then
success = json.UpdateString("birthday", CDate(emp.birthdayDate).ToString("yyyy-MM-dd"))
Else
success = json.UpdateString("birthday", "")
End If
If IsDate(emp.entryDate) Then
success = json.UpdateString("entry", CDate(emp.entryDate).ToString("yyyy-MM-dd"))
Else
success = json.UpdateString("entry", "")
End If
If IsDate(emp.exitDate) Then
success = json.UpdateString("exit", CDate(emp.exitDate).ToString("yyyy-MM-dd"))
Else
success = json.UpdateString("exit", "")
End If
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("PUT", "/rest/web-api/employees/" & emp.ID, sbRequestBody, sbResponseBody)
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return Nothing
End If
If (rest.ResponseStatusCode <> 201) Then
Debug.WriteLine(rest.ResponseHeader)
MsgBox(rest.ResponseStatusCode & " " & rest.ResponseStatusText)
Return Nothing
End If
Debug.WriteLine(sbResponseBody)
End If
If dgv IsNot Nothing AndAlso dgv.RowCount > 0 AndAlso emp.Gruppen IsNot Nothing Then
For Each r As DataGridViewRow In dgv.Rows
For Each i As cTimasGruppe In emp.Gruppen
If r.Cells("set").Value = False AndAlso r.Cells("id").Value = i.Id Then
deleteGroupmembers(i.Id, emp.ID)
Exit For
ElseIf r.Cells("set").Value = True AndAlso r.Cells("id").Value <> i.Id Then
addGroupmembers(r.Cells("id").Value, emp.ID)
Exit For
End If
Next
Next
End If
Return success
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Public Sub getAllGroups(ByRef dt As DataTable, Optional initialGroup As Boolean = True)
Try
Dim failureText As String = ""
If Not checkConnectionTImas(failureText) Then
Exit Sub
End If
Dim responseBody As String = rest.FullRequestNoBody("GET", API_STRING & "/rest/web-api/groups3")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseStatusCode & " " & rest.ResponseStatusText)
End If
Dim jsonArray As New Chilkat.JsonArray
Dim success As Boolean = jsonArray.Load(responseBody)
If (success <> True) Then
Debug.WriteLine(jsonArray.LastErrorText)
Exit Sub
End If
Dim num As Integer = jsonArray.Size
If num = -1 Then
Exit Sub
End If
Dim j As Integer = 0
If dt IsNot Nothing And Not dt.Columns.Contains("id") Then
dt.Columns.Add("id", GetType(Integer))
dt.Columns.Add("name", GetType(String))
dt.Columns.Add("groupType", GetType(String))
dt.Columns.Add("info", GetType(String))
dt.Columns.Add("set", GetType(Boolean))
While j < num
Dim groups As Chilkat.JsonObject = jsonArray.ObjectAt(j)
Dim R As DataRow = dt.NewRow
R("id") = groups.IntOf("id")
R("name") = groups.StringOf("name")
R("groupType") = groups.StringOf("groupType")
R("info") = groups.StringOf("info")
If initialGroup = True Then
If R("id") = "19" Or R("id") = "129" Then 'Typ Mitarbeiter und Standardgruppe für Mitarbeiter Default true
R("set") = True
Else
R("set") = False
End If
End If
dt.Rows.Add(R)
j = j + 1
End While
dt.DefaultView.Sort = " groupType asc, name asc"
dt = dt.DefaultView.ToTable()
End If
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Sub getGroupsFromEmployee(ByRef dt As DataTable)
Try
@@ -444,6 +719,59 @@ Public Class cTimasAPI
End Sub
Public Sub addGroupmembers(ByVal groupID As Integer, ByVal maId As Integer)
Try
Dim success As Boolean
Dim jarr As New Chilkat.JsonArray
jarr.AddIntAt(-1, maId)
Dim sbRequestBody As New Chilkat.StringBuilder
jarr.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST", "/rest/web-api/groups/" & groupID & "/addmembers", sbRequestBody, sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
End If
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Sub deleteGroupmembers(ByVal groupID As Integer, ByVal maId As Integer)
Try
Dim success As Boolean
Dim jarr As New Chilkat.JsonArray
jarr.AddIntAt(-1, maId)
Dim sbRequestBody As New Chilkat.StringBuilder
jarr.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST", "/rest/web-api/groups/" & groupID & "/removemembers", sbRequestBody, sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
End If
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Function setTimeEntry(ByVal mitarbeiter As cMitarbeiter, ByVal timeEntry As DateTime, ByRef info As String, ByRef inout As String)
Dim failureText As String = ""
Dim timeEntryCreated As Boolean = False
@@ -557,7 +885,7 @@ Public Class cTimasAPI
Return "Array Failure"
End If
If dt IsNot Nothing And Not dt.Columns.Contains("Id") Then
If dt IsNot Nothing AndAlso Not dt.Columns.Contains("Id") Then
dt.Columns.Add("Id", GetType(Integer))
'dt.Columns.Add("externid", GetType(String))
dt.Columns.Add("Personal-Nr (Lohn)", GetType(String))
@@ -595,3 +923,55 @@ Public Class cTimasAPI
End Class
Public Class cTimasEmployee
Public ID As Integer
Public externid As String
Public pnr1 As String
Public pnr2 As String
Public firstname As String
Public lastname As String
Public gender As String
Public clientNumber As String
Public rfid As String
Public card As Integer
Public info As String
Public login As String
Public email As String
Public loginActive As Boolean
Public password As String
Public street As String
Public city As String
Public zipcode As String
Public phone1 As String
Public phone2 As String
Public birthdayDate As String
Public entryDate As String
Public exitDate As String
Public Gruppen As List(Of cTimasGruppe)
Sub New()
End Sub
End Class
Public Class cTimasGruppe
Public empID As Integer
Public Id As Integer
Public name As String
Public groupType As String
Public info As String
Sub New(empId)
Me.empID = empId
End Sub
End Class

View File

@@ -342,6 +342,7 @@
<Compile Include="Classes\cFiskalkunden.vb" />
<Compile Include="Classes\cFiskalkundenAnhaenge.vb" />
<Compile Include="Classes\cFremdSpeditionenZuordnung.vb" />
<Compile Include="Classes\cFremdwaehrungskurse.vb" />
<Compile Include="Classes\cGelangensbestaetigung.vb" />
<Compile Include="Classes\cGesamtsicherheitsPositionen.vb" />
<Compile Include="Classes\cGestellungsgarantien.vb" />