Überstundenauszahlung, TimasAPI, etc.

This commit is contained in:
2024-02-21 16:16:18 +01:00
parent 9893830dc0
commit e480d92d1c
10 changed files with 1412 additions and 90 deletions

View File

@@ -1706,7 +1706,7 @@ Public Class cFakturierung
Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID) Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID)
End Function End Function
Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "") As String Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True) As String
getSignature = "" getSignature = ""
firma = getFirmaNr(firma) firma = getFirmaNr(firma)
@@ -1751,8 +1751,8 @@ Public Class cFakturierung
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Autobahngrenze 15 <br><b>T</b> +43 7711 31630 | <b>F</b> +43 7711 31630-1 | <b>@</b> " & If(individuell, emailindividuell, "info@imex-group.at") & " | www.imex-group.at | FN 410356s</div>" getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Autobahngrenze 15 <br><b>T</b> +43 7711 31630 | <b>F</b> +43 7711 31630-1 | <b>@</b> " & If(individuell, emailindividuell, "info@imex-group.at") & " | www.imex-group.at | FN 410356s</div>"
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
Case 24 'AMBAR Case 24 'AMBAR
Dim defaultMail = getDefaultMail("AMBAR") Dim defaultMail = getDefaultMail("AMBAR", departmentmailadress)
getSignature &= "<img width=""250"" height=""70"" src=""" & imgsrc & "ambar_simple.png""/>" getSignature &= "<img width=""250"" height=""70"" src=""" & imgsrc & "ambar_boarder.png""/>"
If displayFirmenmane Then getSignature &= "<br><b>AMBAR Logistic Services GmbH</b><br>" If displayFirmenmane Then getSignature &= "<br><b>AMBAR Logistic Services GmbH</b><br>"
getSignature &= "<div style=""font-size:12px"">D 83435 Bad Reichenhall, Reichenhallerstrasse 62<br><b>T</b> +49 8651 99624911 | <b>F</b> +49 8651 9962493 | <b>@</b> " & If(individuell, emailindividuell, defaultMail) & " | www.ambarlog.com | DE309105428</div>" getSignature &= "<div style=""font-size:12px"">D 83435 Bad Reichenhall, Reichenhallerstrasse 62<br><b>T</b> +49 8651 99624911 | <b>F</b> +49 8651 9962493 | <b>@</b> " & If(individuell, emailindividuell, defaultMail) & " | www.ambarlog.com | DE309105428</div>"
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
@@ -1824,15 +1824,17 @@ Public Class cFakturierung
End Select End Select
End Function End Function
Shared Function getDefaultMail(firma) Shared Function getDefaultMail(firma, Optional useDepartmentmailadress = True) As String
Dim defaultMail = "" Dim defaultMail = ""
Select Case firma Select Case firma
Case "AMBAR" Case "AMBAR"
defaultMail = "import@ambarlog.de" defaultMail = "import@ambarlog.de"
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "BH" Then defaultMail = "buchhaltung@ambarlog.de" If useDepartmentmailadress Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "EXPORT" Then defaultMail = "office@ambarlog.de" If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "BH" Then defaultMail = "buchhaltung@ambarlog.de"
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "EXPORT" Then defaultMail = "office@ambarlog.de"
End If
End Select End Select
Return defaultMail
End Function End Function
Shared Function Abrechnugsdaten_AKTUALISIEREN(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional RechnungsDatum As Object = Nothing) As Boolean Shared Function Abrechnugsdaten_AKTUALISIEREN(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional RechnungsDatum As Object = Nothing) As Boolean

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.8.0")> <Assembly: AssemblyVersion("1.2.8.1")>
<Assembly: AssemblyFileVersion("1.2.8.0")> <Assembly: AssemblyFileVersion("1.2.8.1")>

View File

@@ -50,22 +50,24 @@ Public Class cFeiertage
End Get End Get
End Property End Property
Public Function GetFirstyDayInxMonth(ByVal day As DayOfWeek, ByVal month As Integer, ByVal year As Integer) As DateTime Public Function GetFirstyDayYInxMonth(ByVal day As DayOfWeek, ByVal month As Integer, ByVal year As Integer, Optional irgnoreDay As Boolean = False) As DateTime
' Create a start date for the 1st day of the month ' Create a start date for the 1st day of the month
Dim startDate As DateTime = New DateTime(year, month, 1) Dim startDate As DateTime = New DateTime(year, month, 1)
While startDate.DayOfWeek <> day If Not irgnoreDay Then
startDate = startDate.AddDays(1)
End While
While startDate.DayOfWeek <> day
startDate = startDate.AddDays(1)
End While
End If
Return startDate Return startDate
End Function End Function
Public Function GetLastyDayInxMonth(ByVal day As DayOfWeek, ByVal month As Integer, ByVal year As Integer) As DateTime Public Function GetLastyDayYInxMonth(ByVal day As DayOfWeek, ByVal month As Integer, ByVal year As Integer, Optional irgnoreDay As Boolean = False) As DateTime
' Create a start date for the last weekday of the month ' Create a start date for the last weekday of the month
Dim startDate As DateTime Dim startDate As DateTime
@@ -77,9 +79,14 @@ Public Class cFeiertage
startDate = startDate.AddDays(-1) startDate = startDate.AddDays(-1)
End If End If
While (startDate.DayOfWeek <> day) If irgnoreDay Then
startDate = startDate.AddDays(-1) startDate = startDate.AddDays(-1)
End While Else
While (startDate.DayOfWeek <> day)
startDate = startDate.AddDays(-1)
End While
End If
Return startDate Return startDate
@@ -268,9 +275,9 @@ Public Class cFeiertage
Case "GB" Case "GB"
If datum = Karfreitag Then Return True If datum = Karfreitag Then Return True
If datum = GetFirstyDayInxMonth(DayOfWeek.Monday, 5, _Year) Then Return True 'Early May Bank Holiday Erster Montag im Mai If datum = GetFirstyDayYInxMonth(DayOfWeek.Monday, 5, _Year) Then Return True 'Early May Bank Holiday Erster Montag im Mai
If datum = GetLastyDayInxMonth(DayOfWeek.Monday, 5, _Year) Then Return True 'Spring Bank Holiday Letzter Montag im Mai If datum = GetLastyDayYInxMonth(DayOfWeek.Monday, 5, _Year) Then Return True 'Spring Bank Holiday Letzter Montag im Mai
If datum = GetLastyDayInxMonth(DayOfWeek.Monday, 8, _Year) Then Return True 'Summer Bank Holiday Letzter Montag im August If datum = GetLastyDayYInxMonth(DayOfWeek.Monday, 8, _Year) Then Return True 'Summer Bank Holiday Letzter Montag im August
Return False Return False
Case Else Case Else

View File

@@ -28,8 +28,10 @@ Partial Class frmMitarbeitersuche
Me.Button4 = New System.Windows.Forms.Button() Me.Button4 = New System.Windows.Forms.Button()
Me.btnClose = New System.Windows.Forms.Button() Me.btnClose = New System.Windows.Forms.Button()
Me.PictureBox2 = New System.Windows.Forms.PictureBox() Me.PictureBox2 = New System.Windows.Forms.PictureBox()
Me.sbMitarbeiter = New VERAG_PROG_ALLGEMEIN.MySearchBox()
Me.pnlMain = New System.Windows.Forms.Panel() Me.pnlMain = New System.Windows.Forms.Panel()
Me.pnl = New System.Windows.Forms.Panel() Me.pnl = New System.Windows.Forms.Panel()
Me.Button3 = New System.Windows.Forms.Button()
Me.Panel2 = New System.Windows.Forms.Panel() Me.Panel2 = New System.Windows.Forms.Panel()
Me.lblStatusZE = New System.Windows.Forms.Label() Me.lblStatusZE = New System.Windows.Forms.Label()
Me.Label13 = New System.Windows.Forms.Label() Me.Label13 = New System.Windows.Forms.Label()
@@ -81,7 +83,6 @@ Partial Class frmMitarbeitersuche
Me.lblFirma = New System.Windows.Forms.Label() Me.lblFirma = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label() Me.Label4 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label()
Me.sbMitarbeiter = New VERAG_PROG_ALLGEMEIN.MySearchBox()
Me.pnlSrch.SuspendLayout() Me.pnlSrch.SuspendLayout()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnlMain.SuspendLayout() Me.pnlMain.SuspendLayout()
@@ -154,6 +155,32 @@ Partial Class frmMitarbeitersuche
Me.PictureBox2.TabIndex = 18 Me.PictureBox2.TabIndex = 18
Me.PictureBox2.TabStop = False Me.PictureBox2.TabStop = False
' '
'sbMitarbeiter
'
Me.sbMitarbeiter._allowFreitext = False
Me.sbMitarbeiter._AllowSetValue = False
Me.sbMitarbeiter._allowSpaceAsSplitter = True
Me.sbMitarbeiter._autoSizeGross = False
Me.sbMitarbeiter._hideIfListEmpty = True
Me.sbMitarbeiter._value = Nothing
Me.sbMitarbeiter.conn_art = "FMZOLL"
Me.sbMitarbeiter.dgvpos = "LEFT"
Me.sbMitarbeiter.DISPLAY_PARAM = Nothing
Me.sbMitarbeiter.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
Me.sbMitarbeiter.INVISIBLE_COLUMNS = Nothing
Me.sbMitarbeiter.key_visible = False
Me.sbMitarbeiter.KEYPARAM = Nothing
Me.sbMitarbeiter.Location = New System.Drawing.Point(45, 11)
Me.sbMitarbeiter.Name = "sbMitarbeiter"
Me.sbMitarbeiter.searchActive = True
Me.sbMitarbeiter.Size = New System.Drawing.Size(582, 29)
Me.sbMitarbeiter.SQL_ORDER_BY = Nothing
Me.sbMitarbeiter.SQL_SELECT = Nothing
Me.sbMitarbeiter.SQL_WHERE = Nothing
Me.sbMitarbeiter.SQL_WhereParamList = Nothing
Me.sbMitarbeiter.TabIndex = 0
Me.sbMitarbeiter.usrcntl = Nothing
'
'pnlMain 'pnlMain
' '
Me.pnlMain.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.pnlMain.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
@@ -169,6 +196,7 @@ Partial Class frmMitarbeitersuche
' '
Me.pnl.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.pnl.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
Me.pnl.BackColor = System.Drawing.Color.FromArgb(CType(CType(250, Byte), Integer), CType(CType(254, Byte), Integer), CType(CType(255, Byte), Integer)) Me.pnl.BackColor = System.Drawing.Color.FromArgb(CType(CType(250, Byte), Integer), CType(CType(254, Byte), Integer), CType(CType(255, Byte), Integer))
Me.pnl.Controls.Add(Me.Button3)
Me.pnl.Controls.Add(Me.Panel2) Me.pnl.Controls.Add(Me.Panel2)
Me.pnl.Controls.Add(Me.pnlZeiten) Me.pnl.Controls.Add(Me.pnlZeiten)
Me.pnl.Controls.Add(Me.lblMAId) Me.pnl.Controls.Add(Me.lblMAId)
@@ -199,6 +227,21 @@ Partial Class frmMitarbeitersuche
Me.pnl.Size = New System.Drawing.Size(774, 480) Me.pnl.Size = New System.Drawing.Size(774, 480)
Me.pnl.TabIndex = 24 Me.pnl.TabIndex = 24
' '
'Button3
'
Me.Button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button3.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.zeiterfassung_s
Me.Button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button3.Location = New System.Drawing.Point(647, 138)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(125, 40)
Me.Button3.TabIndex = 129
Me.Button3.Text = "ÜS auszahlen"
Me.Button3.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button3.UseVisualStyleBackColor = True
Me.Button3.Visible = False
'
'Panel2 'Panel2
' '
Me.Panel2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.Panel2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
@@ -415,7 +458,7 @@ Partial Class frmMitarbeitersuche
Me.btnSettings.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.btnSettings.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnSettings.Location = New System.Drawing.Point(646, 95) Me.btnSettings.Location = New System.Drawing.Point(646, 95)
Me.btnSettings.Name = "btnSettings" Me.btnSettings.Name = "btnSettings"
Me.btnSettings.Size = New System.Drawing.Size(125, 61) Me.btnSettings.Size = New System.Drawing.Size(125, 40)
Me.btnSettings.TabIndex = 29 Me.btnSettings.TabIndex = 29
Me.btnSettings.Text = "Einstellungen" Me.btnSettings.Text = "Einstellungen"
Me.btnSettings.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnSettings.TextAlign = System.Drawing.ContentAlignment.MiddleRight
@@ -592,7 +635,7 @@ Partial Class frmMitarbeitersuche
Me.lblHandyNr.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) Me.lblHandyNr.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
Me.lblHandyNr.Location = New System.Drawing.Point(360, 164) Me.lblHandyNr.Location = New System.Drawing.Point(360, 164)
Me.lblHandyNr.Name = "lblHandyNr" Me.lblHandyNr.Name = "lblHandyNr"
Me.lblHandyNr.Size = New System.Drawing.Size(411, 25) Me.lblHandyNr.Size = New System.Drawing.Size(281, 25)
Me.lblHandyNr.TabIndex = 22 Me.lblHandyNr.TabIndex = 22
Me.lblHandyNr.Text = "+43 7711 / 2777 0" Me.lblHandyNr.Text = "+43 7711 / 2777 0"
Me.lblHandyNr.TextAlign = System.Drawing.ContentAlignment.MiddleLeft Me.lblHandyNr.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -613,7 +656,7 @@ Partial Class frmMitarbeitersuche
Me.lblTelefon.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold) Me.lblTelefon.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
Me.lblTelefon.Location = New System.Drawing.Point(360, 138) Me.lblTelefon.Location = New System.Drawing.Point(360, 138)
Me.lblTelefon.Name = "lblTelefon" Me.lblTelefon.Name = "lblTelefon"
Me.lblTelefon.Size = New System.Drawing.Size(411, 25) Me.lblTelefon.Size = New System.Drawing.Size(281, 25)
Me.lblTelefon.TabIndex = 16 Me.lblTelefon.TabIndex = 16
Me.lblTelefon.Text = "+43 7711 / 2777 0" Me.lblTelefon.Text = "+43 7711 / 2777 0"
Me.lblTelefon.TextAlign = System.Drawing.ContentAlignment.MiddleLeft Me.lblTelefon.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -772,32 +815,6 @@ Partial Class frmMitarbeitersuche
Me.Label3.Text = "Niederlassung:" Me.Label3.Text = "Niederlassung:"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
' '
'sbMitarbeiter
'
Me.sbMitarbeiter._allowFreitext = False
Me.sbMitarbeiter._AllowSetValue = False
Me.sbMitarbeiter._allowSpaceAsSplitter = True
Me.sbMitarbeiter._autoSizeGross = False
Me.sbMitarbeiter._hideIfListEmpty = True
Me.sbMitarbeiter._value = Nothing
Me.sbMitarbeiter.conn_art = "FMZOLL"
Me.sbMitarbeiter.dgvpos = "LEFT"
Me.sbMitarbeiter.DISPLAY_PARAM = Nothing
Me.sbMitarbeiter.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
Me.sbMitarbeiter.INVISIBLE_COLUMNS = Nothing
Me.sbMitarbeiter.key_visible = False
Me.sbMitarbeiter.KEYPARAM = Nothing
Me.sbMitarbeiter.Location = New System.Drawing.Point(45, 11)
Me.sbMitarbeiter.Name = "sbMitarbeiter"
Me.sbMitarbeiter.searchActive = True
Me.sbMitarbeiter.Size = New System.Drawing.Size(582, 29)
Me.sbMitarbeiter.SQL_ORDER_BY = Nothing
Me.sbMitarbeiter.SQL_SELECT = Nothing
Me.sbMitarbeiter.SQL_WHERE = Nothing
Me.sbMitarbeiter.SQL_WhereParamList = Nothing
Me.sbMitarbeiter.TabIndex = 0
Me.sbMitarbeiter.usrcntl = Nothing
'
'frmMitarbeitersuche 'frmMitarbeitersuche
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -894,4 +911,5 @@ Partial Class frmMitarbeitersuche
Friend WithEvents Button2 As Windows.Forms.Button Friend WithEvents Button2 As Windows.Forms.Button
Friend WithEvents PictureBox5 As Windows.Forms.PictureBox Friend WithEvents PictureBox5 As Windows.Forms.PictureBox
Friend WithEvents btnAkten As Windows.Forms.Button Friend WithEvents btnAkten As Windows.Forms.Button
Friend WithEvents Button3 As Windows.Forms.Button
End Class End Class

View File

@@ -72,6 +72,7 @@ Public Class frmMitarbeitersuche
lblTimasSaldo.Visible = False lblTimasSaldo.Visible = False
Panel1.Visible = False Panel1.Visible = False
btnSettings.Visible = False btnSettings.Visible = False
Button3.Visible = False
' Dim MA As cMitarbeiter = Nothing ' Dim MA As cMitarbeiter = Nothing
If sbMitarbeiter._value <> "" Then If sbMitarbeiter._value <> "" Then
MA = New cMitarbeiter(sbMitarbeiter._value) MA = New cMitarbeiter(sbMitarbeiter._value)
@@ -190,6 +191,8 @@ Public Class frmMitarbeitersuche
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZE_AKTENGANG", "SDL") Then btnAkten.Visible = True If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZE_AKTENGANG", "SDL") Then btnAkten.Visible = True
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Überstunden_auszahlen", "SDL") Then Button3.Visible = True = True
End If End If
End Sub End Sub
@@ -423,7 +426,7 @@ Public Class frmMitarbeitersuche
Dim dtZeiten As New DataTable Dim dtZeiten As New DataTable
If timas IsNot Nothing Then If timas IsNot Nothing Then
Dim isServiceRunning As Boolean = True Dim isServiceRunning As Boolean = True
timas.getTimeSaldo(MA.mit_timasId, lblTimasSaldo.Text, isServiceRunning) timas.getTimeSaldo(MA.mit_timasId, lblTimasSaldo.Text, "dailyBalanceYesterday", isServiceRunning)
If Not isServiceRunning Then If Not isServiceRunning Then
'Abfrage konnte nicht durchgeführt werden. 'Abfrage konnte nicht durchgeführt werden.
MsgBox("Abfragefehler am Timas-Server!") MsgBox("Abfragefehler am Timas-Server!")
@@ -484,4 +487,9 @@ Public Class frmMitarbeitersuche
Process.Start(webAddress) Process.Start(webAddress)
End Sub End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If sbMitarbeiter._value = "" Then Exit Sub
Dim f As New frmUeberstundenauszahlen(sbMitarbeiter._value)
f.ShowDialog(Me)
End Sub
End Class End Class

View File

@@ -0,0 +1,447 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmUeberstundenauszahlen
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.dtpMonat = New System.Windows.Forms.DateTimePicker()
Me.lblMonat = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.txt100 = New System.Windows.Forms.TextBox()
Me.txt50 = New System.Windows.Forms.TextBox()
Me.txtMehr = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.txtAusz = New System.Windows.Forms.TextBox()
Me.lblMA = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.txt100x2 = New System.Windows.Forms.TextBox()
Me.txt50x15 = New System.Windows.Forms.TextBox()
Me.txtAusz100 = New System.Windows.Forms.TextBox()
Me.txtAusz50 = New System.Windows.Forms.TextBox()
Me.CheckVatTestService1 = New VERAG_PROG_ALLGEMEIN.eu.europa.ec.checkVatTestService()
Me.cbxabwDatum = New System.Windows.Forms.CheckBox()
Me.lblBis = New System.Windows.Forms.Label()
Me.dtpBis = New System.Windows.Forms.DateTimePicker()
Me.txtSummeAuszb = New System.Windows.Forms.TextBox()
Me.txtberAusz50 = New System.Windows.Forms.TextBox()
Me.txtberAusz100 = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.txtlfdSaldo = New System.Windows.Forms.TextBox()
Me.Label6 = New System.Windows.Forms.Label()
Me.picDel = New System.Windows.Forms.PictureBox()
Me.txtAusz50vonSaldo = New System.Windows.Forms.TextBox()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.dgvUeberstunden = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.txt50x1 = New System.Windows.Forms.TextBox()
Me.Label8 = New System.Windows.Forms.Label()
CType(Me.picDel, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
CType(Me.dgvUeberstunden, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'dtpMonat
'
Me.dtpMonat.CustomFormat = "yyyy/MM"
Me.dtpMonat.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.dtpMonat.Location = New System.Drawing.Point(15, 41)
Me.dtpMonat.Name = "dtpMonat"
Me.dtpMonat.Size = New System.Drawing.Size(81, 20)
Me.dtpMonat.TabIndex = 0
'
'lblMonat
'
Me.lblMonat.AutoSize = True
Me.lblMonat.Location = New System.Drawing.Point(12, 25)
Me.lblMonat.Name = "lblMonat"
Me.lblMonat.Size = New System.Drawing.Size(37, 13)
Me.lblMonat.TabIndex = 1
Me.lblMonat.Text = "Monat"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(13, 11)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(196, 13)
Me.Label2.TabIndex = 2
Me.Label2.Text = "Überstunden 100% (So/Nacht/Feiertag)"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(12, 131)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(138, 13)
Me.Label3.TabIndex = 3
Me.Label3.Text = "Mehrarbeit (autom. ausbez.)"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(13, 53)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(113, 13)
Me.Label4.TabIndex = 4
Me.Label4.Text = "Überstunden 50% (Sa)"
'
'txt100
'
Me.txt100.Location = New System.Drawing.Point(16, 27)
Me.txt100.Name = "txt100"
Me.txt100.ReadOnly = True
Me.txt100.Size = New System.Drawing.Size(47, 20)
Me.txt100.TabIndex = 5
Me.txt100.Text = "0"
'
'txt50
'
Me.txt50.Location = New System.Drawing.Point(16, 69)
Me.txt50.Name = "txt50"
Me.txt50.ReadOnly = True
Me.txt50.Size = New System.Drawing.Size(47, 20)
Me.txt50.TabIndex = 6
Me.txt50.Text = "0"
'
'txtMehr
'
Me.txtMehr.Location = New System.Drawing.Point(15, 147)
Me.txtMehr.Name = "txtMehr"
Me.txtMehr.ReadOnly = True
Me.txtMehr.Size = New System.Drawing.Size(47, 20)
Me.txtMehr.TabIndex = 7
Me.txtMehr.Text = "0"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(75, 179)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(86, 13)
Me.Label5.TabIndex = 8
Me.Label5.Text = "max. auszahlbar:"
'
'txtAusz
'
Me.txtAusz.Location = New System.Drawing.Point(192, 196)
Me.txtAusz.Name = "txtAusz"
Me.txtAusz.Size = New System.Drawing.Size(54, 20)
Me.txtAusz.TabIndex = 9
Me.txtAusz.Text = "0"
'
'lblMA
'
Me.lblMA.AutoSize = True
Me.lblMA.Location = New System.Drawing.Point(238, 6)
Me.lblMA.Name = "lblMA"
Me.lblMA.Size = New System.Drawing.Size(56, 13)
Me.lblMA.TabIndex = 10
Me.lblMA.Text = "Mitarbeiter"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(238, 26)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(65, 13)
Me.Label7.TabIndex = 11
Me.Label7.Text = "Mustermann"
'
'Button1
'
Me.Button1.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Button1.Location = New System.Drawing.Point(321, 170)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(87, 30)
Me.Button1.TabIndex = 12
Me.Button1.Text = "Auszahlen"
Me.Button1.UseVisualStyleBackColor = True
'
'txt100x2
'
Me.txt100x2.Location = New System.Drawing.Point(112, 27)
Me.txt100x2.Name = "txt100x2"
Me.txt100x2.ReadOnly = True
Me.txt100x2.Size = New System.Drawing.Size(49, 20)
Me.txt100x2.TabIndex = 14
Me.txt100x2.Text = "0"
'
'txt50x15
'
Me.txt50x15.Location = New System.Drawing.Point(112, 69)
Me.txt50x15.Name = "txt50x15"
Me.txt50x15.ReadOnly = True
Me.txt50x15.Size = New System.Drawing.Size(49, 20)
Me.txt50x15.TabIndex = 15
Me.txt50x15.Text = "0"
'
'txtAusz100
'
Me.txtAusz100.Location = New System.Drawing.Point(197, 27)
Me.txtAusz100.Name = "txtAusz100"
Me.txtAusz100.ReadOnly = True
Me.txtAusz100.Size = New System.Drawing.Size(54, 20)
Me.txtAusz100.TabIndex = 16
Me.txtAusz100.Text = "0"
'
'txtAusz50
'
Me.txtAusz50.Location = New System.Drawing.Point(197, 69)
Me.txtAusz50.Name = "txtAusz50"
Me.txtAusz50.ReadOnly = True
Me.txtAusz50.Size = New System.Drawing.Size(54, 20)
Me.txtAusz50.TabIndex = 17
Me.txtAusz50.Text = "0"
'
'CheckVatTestService1
'
Me.CheckVatTestService1.Credentials = Nothing
Me.CheckVatTestService1.Url = "http://ec.europa.eu/taxation_customs/vies/services/checkVatTestService"
Me.CheckVatTestService1.UseDefaultCredentials = False
'
'cbxabwDatum
'
Me.cbxabwDatum.AutoSize = True
Me.cbxabwDatum.Location = New System.Drawing.Point(15, 5)
Me.cbxabwDatum.Name = "cbxabwDatum"
Me.cbxabwDatum.Size = New System.Drawing.Size(129, 17)
Me.cbxabwDatum.TabIndex = 18
Me.cbxabwDatum.Text = "abweichendes Datum"
Me.cbxabwDatum.UseVisualStyleBackColor = True
'
'lblBis
'
Me.lblBis.AutoSize = True
Me.lblBis.Location = New System.Drawing.Point(134, 25)
Me.lblBis.Name = "lblBis"
Me.lblBis.Size = New System.Drawing.Size(20, 13)
Me.lblBis.TabIndex = 20
Me.lblBis.Text = "bis"
Me.lblBis.Visible = False
'
'dtpBis
'
Me.dtpBis.CustomFormat = "yyyy/MM/dd"
Me.dtpBis.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.dtpBis.Location = New System.Drawing.Point(137, 41)
Me.dtpBis.Name = "dtpBis"
Me.dtpBis.Size = New System.Drawing.Size(81, 20)
Me.dtpBis.TabIndex = 19
Me.dtpBis.Visible = False
'
'txtSummeAuszb
'
Me.txtSummeAuszb.Location = New System.Drawing.Point(110, 196)
Me.txtSummeAuszb.Name = "txtSummeAuszb"
Me.txtSummeAuszb.ReadOnly = True
Me.txtSummeAuszb.Size = New System.Drawing.Size(49, 20)
Me.txtSummeAuszb.TabIndex = 21
Me.txtSummeAuszb.Text = "0"
'
'txtberAusz50
'
Me.txtberAusz50.Location = New System.Drawing.Point(291, 69)
Me.txtberAusz50.Name = "txtberAusz50"
Me.txtberAusz50.ReadOnly = True
Me.txtberAusz50.Size = New System.Drawing.Size(54, 20)
Me.txtberAusz50.TabIndex = 24
Me.txtberAusz50.Text = "0"
'
'txtberAusz100
'
Me.txtberAusz100.Location = New System.Drawing.Point(291, 27)
Me.txtberAusz100.Name = "txtberAusz100"
Me.txtberAusz100.ReadOnly = True
Me.txtberAusz100.Size = New System.Drawing.Size(54, 20)
Me.txtberAusz100.TabIndex = 23
Me.txtberAusz100.Text = "0"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(289, 11)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(92, 13)
Me.Label1.TabIndex = 25
Me.Label1.Text = "bereits ausgezahlt"
'
'txtlfdSaldo
'
Me.txtlfdSaldo.Location = New System.Drawing.Point(17, 108)
Me.txtlfdSaldo.Name = "txtlfdSaldo"
Me.txtlfdSaldo.ReadOnly = True
Me.txtlfdSaldo.Size = New System.Drawing.Size(49, 20)
Me.txtlfdSaldo.TabIndex = 26
Me.txtlfdSaldo.Text = "0"
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(18, 92)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(48, 13)
Me.Label6.TabIndex = 27
Me.Label6.Text = "lfd Saldo"
'
'picDel
'
Me.picDel.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
Me.picDel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.picDel.Location = New System.Drawing.Point(387, 11)
Me.picDel.Name = "picDel"
Me.picDel.Size = New System.Drawing.Size(21, 16)
Me.picDel.TabIndex = 28
Me.picDel.TabStop = False
'
'txtAusz50vonSaldo
'
Me.txtAusz50vonSaldo.Location = New System.Drawing.Point(197, 108)
Me.txtAusz50vonSaldo.Name = "txtAusz50vonSaldo"
Me.txtAusz50vonSaldo.ReadOnly = True
Me.txtAusz50vonSaldo.Size = New System.Drawing.Size(49, 20)
Me.txtAusz50vonSaldo.TabIndex = 29
Me.txtAusz50vonSaldo.Text = "0"
'
'Panel1
'
Me.Panel1.Controls.Add(Me.Label8)
Me.Panel1.Controls.Add(Me.txt50x1)
Me.Panel1.Controls.Add(Me.Label2)
Me.Panel1.Controls.Add(Me.txtAusz50vonSaldo)
Me.Panel1.Controls.Add(Me.Label3)
Me.Panel1.Controls.Add(Me.picDel)
Me.Panel1.Controls.Add(Me.Label4)
Me.Panel1.Controls.Add(Me.Label6)
Me.Panel1.Controls.Add(Me.txt100)
Me.Panel1.Controls.Add(Me.txtlfdSaldo)
Me.Panel1.Controls.Add(Me.txt50)
Me.Panel1.Controls.Add(Me.Label1)
Me.Panel1.Controls.Add(Me.txtMehr)
Me.Panel1.Controls.Add(Me.txtberAusz50)
Me.Panel1.Controls.Add(Me.Label5)
Me.Panel1.Controls.Add(Me.txtberAusz100)
Me.Panel1.Controls.Add(Me.txtAusz)
Me.Panel1.Controls.Add(Me.txtSummeAuszb)
Me.Panel1.Controls.Add(Me.Button1)
Me.Panel1.Controls.Add(Me.txt100x2)
Me.Panel1.Controls.Add(Me.txt50x15)
Me.Panel1.Controls.Add(Me.txtAusz100)
Me.Panel1.Controls.Add(Me.txtAusz50)
Me.Panel1.Location = New System.Drawing.Point(15, 67)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(421, 219)
Me.Panel1.TabIndex = 30
'
'dgvUeberstunden
'
Me.dgvUeberstunden.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvUeberstunden.AllowUserToAddRows = False
Me.dgvUeberstunden.AllowUserToDeleteRows = False
Me.dgvUeberstunden.BackgroundColor = System.Drawing.Color.White
Me.dgvUeberstunden.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvUeberstunden.Location = New System.Drawing.Point(381, 12)
Me.dgvUeberstunden.Name = "dgvUeberstunden"
Me.dgvUeberstunden.ReadOnly = True
Me.dgvUeberstunden.Size = New System.Drawing.Size(32, 20)
Me.dgvUeberstunden.TabIndex = 13
Me.dgvUeberstunden.Visible = False
'
'txt50x1
'
Me.txt50x1.Location = New System.Drawing.Point(112, 108)
Me.txt50x1.Name = "txt50x1"
Me.txt50x1.ReadOnly = True
Me.txt50x1.Size = New System.Drawing.Size(49, 20)
Me.txt50x1.TabIndex = 32
Me.txt50x1.Text = "0"
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(194, 179)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(56, 13)
Me.Label8.TabIndex = 33
Me.Label8.Text = "Auszahlen"
'
'frmUeberstundenauszahlen
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(463, 337)
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.lblBis)
Me.Controls.Add(Me.dtpBis)
Me.Controls.Add(Me.cbxabwDatum)
Me.Controls.Add(Me.dgvUeberstunden)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.lblMA)
Me.Controls.Add(Me.lblMonat)
Me.Controls.Add(Me.dtpMonat)
Me.Name = "frmUeberstundenauszahlen"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Überstunden auszahlen"
CType(Me.picDel, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
CType(Me.dgvUeberstunden, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents dtpMonat As Windows.Forms.DateTimePicker
Friend WithEvents lblMonat As Windows.Forms.Label
Friend WithEvents Label2 As Windows.Forms.Label
Friend WithEvents Label3 As Windows.Forms.Label
Friend WithEvents Label4 As Windows.Forms.Label
Friend WithEvents txt100 As Windows.Forms.TextBox
Friend WithEvents txt50 As Windows.Forms.TextBox
Friend WithEvents txtMehr As Windows.Forms.TextBox
Friend WithEvents Label5 As Windows.Forms.Label
Friend WithEvents txtAusz As Windows.Forms.TextBox
Friend WithEvents lblMA As Windows.Forms.Label
Friend WithEvents Label7 As Windows.Forms.Label
Friend WithEvents Button1 As Windows.Forms.Button
Friend WithEvents dgvUeberstunden As MyDatagridview
Friend WithEvents txt100x2 As Windows.Forms.TextBox
Friend WithEvents txt50x15 As Windows.Forms.TextBox
Friend WithEvents txtAusz100 As Windows.Forms.TextBox
Friend WithEvents txtAusz50 As Windows.Forms.TextBox
Friend WithEvents CheckVatTestService1 As eu.europa.ec.checkVatTestService
Friend WithEvents cbxabwDatum As Windows.Forms.CheckBox
Friend WithEvents lblBis As Windows.Forms.Label
Friend WithEvents dtpBis As Windows.Forms.DateTimePicker
Friend WithEvents txtSummeAuszb As Windows.Forms.TextBox
Friend WithEvents txtberAusz50 As Windows.Forms.TextBox
Friend WithEvents txtberAusz100 As Windows.Forms.TextBox
Friend WithEvents Label1 As Windows.Forms.Label
Friend WithEvents txtlfdSaldo As Windows.Forms.TextBox
Friend WithEvents Label6 As Windows.Forms.Label
Friend WithEvents picDel As Windows.Forms.PictureBox
Friend WithEvents txtAusz50vonSaldo As Windows.Forms.TextBox
Friend WithEvents Panel1 As Windows.Forms.Panel
Friend WithEvents txt50x1 As Windows.Forms.TextBox
Friend WithEvents Label8 As Windows.Forms.Label
End Class

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="CheckVatTestService1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,439 @@
Imports System.Runtime.InteropServices.ComTypes
Imports System.Threading
Imports System.Windows.Forms
Imports Microsoft.Office.Interop.Outlook
Public Class frmUeberstundenauszahlen
Dim MA As cMitarbeiter = Nothing
Dim timas As cTimasAPI = New cTimasAPI
Dim dt As New DataTable
Dim timeaccountdt As New DataTable
Dim dtResult As New DataTable
Dim tag As cFeiertage
Dim auszahlugsdatum As New Date
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere As Double
Sub New(mit_id)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
MA = New cMitarbeiter(mit_id)
tag = New cFeiertage(DateTime.Parse(dtpMonat.Value).Year)
Label7.Text = MA.mit_vname & " " & MA.mit_nname
timas.getTimeaccountList(dt)
Dim dv = New DataView(dt)
dv.RowFilter = "info like '%zuschlag%' Or name = 'Mehrarbeit' Or name like 'Überstunden%' Or info like 'Auszahlungskonto%' Or name like '%01-Lfd Saldo%'"
timeaccountdt = dv.ToTable
getUeberstunden(False)
End Sub
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles dtpMonat.ValueChanged, dtpBis.ValueChanged
getUeberstunden(cbxabwDatum.Checked)
End Sub
Private Sub getUeberstunden(abwDatum As Boolean)
Dim startdate, enddate As Date
If timeaccountdt IsNot Nothing Then
If abwDatum Then
startdate = (dtpMonat.Value)
enddate = (dtpBis.Value)
auszahlugsdatum = enddate
Else
startdate = tag.GetFirstyDayYInxMonth(DateTime.Parse(dtpMonat.Value).DayOfWeek, DateTime.Parse(dtpMonat.Value).Month, DateTime.Parse(dtpMonat.Value).Year, True)
enddate = tag.GetLastyDayYInxMonth(DateTime.Parse(dtpMonat.Value).DayOfWeek, DateTime.Parse(dtpMonat.Value).Month, DateTime.Parse(dtpMonat.Value).Year, True)
auszahlugsdatum = enddate
End If
timas.getTimeAccounts(startdate, enddate, MA.mit_timasId, timeaccountdt, dtResult)
If dtResult.Rows.Count < 1 Then
MsgBox("Es konnten keine Stunden ermittelt werden!")
Panel1.Enabled = False
Exit Sub
Else
Panel1.Enabled = True
End If
Dim dt = calcUeberstunden(timeaccountdt, dtResult)
fillFields(dt)
dgvUeberstunden.DataSource = dt
End If
End Sub
Private Function calcUeberstunden(dtAccouts As DataTable, dtSumUeberstunden As DataTable) As DataTable
Dim dtmerged As DataTable
If dtAccouts IsNot Nothing AndAlso dtSumUeberstunden IsNot Nothing Then
dtmerged = dtAccouts.Clone
dtmerged.Merge(dtSumUeberstunden, False, MissingSchemaAction.Add)
If (dtmerged.Columns.Contains("accountType")) Then
dtmerged.Columns.Remove("accountType")
dtmerged.AcceptChanges()
End If
If (dtmerged.Columns.Contains("info")) Then
dtmerged.Columns.Remove("info")
dtmerged.AcceptChanges()
End If
If (dtmerged.Columns.Contains("number")) Then
dtmerged.Columns.Remove("number")
dtmerged.AcceptChanges()
End If
If (dtmerged.Columns.Contains("date")) Then
dtmerged.Columns.Remove("date")
dtmerged.AcceptChanges()
End If
Dim groups = dtmerged.AsEnumerable().
GroupBy(Function(row) New With {
Key .Id = row.Field(Of Integer)("accountid"),
Key .Multi = row.Field(Of String)("multiplier")
})
Dim tableResult = dtmerged.Clone()
For Each grp In groups
tableResult.Rows.Add(grp.Key.Id, grp.Key.Multi,
grp.Sum(Function(row)
Dim value = 0
If Not IsDBNull(row.Item("value")) Then value = row.Item("value")
Return value
End Function))
Next
End If
Return dtmerged
End Function
Public Sub fillFields(dt As DataTable)
'69 10-Na 22-06
'70 11-Sa 00-24 ===> 50%
'72 13-So 00-24
'73 14-FtN 00-24
'1209 Mehrarbeit
'1235 Überstunden 100% gesamt ===> 100%
picDel.Visible = False
For Each c As Control In Panel1.Controls
If TypeOf c Is TextBox Then
c.Text = "0"
End If
Next
stunden50bereitsausbezahlt = 0
stunden100bereitsausbezahl = 0
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Dim calc As Double = 0
For Each r As DataRow In dt.Rows
If Not IsDBNull(r.Item("value")) Then
If r.Item("accountid") = "1209" Then
calc = CDbl(txtMehr.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txtMehr.Text = calc
mehrabeit = calc
End If
If r.Item("accountid") = "1235" Then
calc = CDbl(txt100.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txt100.Text = calc
stunden100ausz = calc
End If
If r.Item("accountid") = "70" Then
calc = CDbl(txt50.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txt50.Text = calc
stunden50ausz = calc
End If
If r.Item("accountid") = "1550" Then
calc = CDbl(txtberAusz100.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txtberAusz100.Text = calc
stunden100bereitsausbezahl = calc
End If
If r.Item("accountid") = "1551" Then
calc = CDbl(txtberAusz50.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txtberAusz50.Text = calc
stunden50bereitsausbezahlt = calc
End If
'If r.Item("accountid") = "65" Then
' calc = CDbl(txtlfdSaldo.Text)
' calc += r.Item("value") * (r.Item("multiplier") & "1")
' txtlfdSaldo.Text = calc
'End If
End If
Next
If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt) > 0 Then
picDel.Visible = True
Button1.Enabled = False
txtAusz.Enabled = False
Else
Button1.Enabled = True
txtAusz.Enabled = True
End If
stunden100auszbere = stunden100ausz * 2
stunden50auszbere = stunden50ausz * 1.5
txt100x2.Text = stunden100auszbere
txt50x15.Text = stunden50auszbere
txtlfdSaldo.Text = timas.getTimeSaldo(MA.mit_timasId, "", "overallBalance") 'Saldo zu Stichtag, nicht aktueller Saldo!!!
stundenlfdSaldo = CDbl(txtlfdSaldo.Text)
stundenlfdSaldobere = stundenlfdSaldo
stundenlfdSaldobere -= stunden100auszbere
stundenlfdSaldobere -= stunden50auszbere
stundenlfdSaldobere = Math.Round(stundenlfdSaldobere, 2)
If stundenlfdSaldo <= 0 Then Button1.Enabled = False
txtSummeAuszb.Text = stundenlfdSaldo
End If
End Sub
Private Sub txtAusz_TextChanged(sender As Object, e As EventArgs) Handles txtAusz.TextChanged
If txtAusz.Text <> "" AndAlso IsNumeric(txtAusz.Text) Then
Dim summeAusz = CDbl(txtAusz.Text)
If summeAusz <= 0 Then
txtAusz50vonSaldo.Text = "0"
txtAusz50.Text = "0"
txtAusz100.Text = "0"
txtAusz.Text = "0"
Button1.Enabled = False
Exit Sub
End If
txt100x2.Text = stunden100auszbere
txt50x15.Text = stunden50auszbere
txt50x1.Text = stundenlfdSaldobere
If stundenlfdSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden können!
Button1.Enabled = True
Else
Button1.Enabled = False
End If
If summeAusz >= stunden100auszbere Then
txtAusz100.Text = stunden100auszbere
Else
txtAusz100.Text = summeAusz
End If
summeAusz = Math.Round(summeAusz - stunden100auszbere, 2)
If summeAusz >= stunden50auszbere Then
txtAusz50.Text = stunden50auszbere
summeAusz = Math.Round(summeAusz - stunden50auszbere, 2)
ElseIf summeAusz < 0 Then
txtAusz50.Text = "0"
Else
txtAusz50.Text = summeAusz
summeAusz = Math.Round(summeAusz - stunden50auszbere, 2)
End If
If summeAusz >= stundenlfdSaldo Then
txtAusz50vonSaldo.Text = stundenlfdSaldo
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
ElseIf summeAusz < 0 Then
txtAusz50vonSaldo.Text = "0"
Else
txtAusz50vonSaldo.Text = summeAusz
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
End If
'Dim ausz100 As Double = (CDbl(txt100x2.Text))
'Dim ausz50 As Double = (CDbl(txt50x15.Text))
'Dim ausz50vonldfSaldo As Double = CDbl(txtlfdSaldo.Text)
'If ausz50 + ausz100 + ausz50vonldfSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden!
' Button1.Enabled = True
'Else
' Button1.Enabled = False
'End If
'If summeAusz >= ausz100 Then
' txtAusz100.Text = ausz100
' summeAusz = summeAusz - ausz100
'Else
' txtAusz100.Text = summeAusz
' summeAusz = summeAusz - ausz100
'End If
'If summeAusz >= ausz50 Then
' summeAusz = summeAusz - ausz50
' txtAusz50.Text = ausz50
'ElseIf summeAusz < 0 Then
' txtAusz50.Text = "0"
'Else
' txtAusz50.Text = summeAusz
' summeAusz = ausz50 - summeAusz
'End If
'If summeAusz >= ausz50vonldfSaldo Then
' summeAusz = summeAusz - ausz50vonldfSaldo
' txtAusz50vonSaldo.Text = ausz50vonldfSaldo
'ElseIf summeAusz < 0 Then
' txtAusz50vonSaldo.Text = "0"
'Else
' txtAusz50vonSaldo.Text = summeAusz
' summeAusz = ausz50vonldfSaldo - summeAusz
'End If
End If
End Sub
Private Sub cbxabwDatum_CheckedChanged(sender As Object, e As EventArgs) Handles cbxabwDatum.CheckedChanged
If cbxabwDatum.Checked Then
lblBis.Visible = True
dtpBis.Visible = True
lblMonat.Text = "bis"
dtpMonat.CustomFormat = "yyyy/MM/dd"
Else
lblBis.Visible = False
dtpBis.Visible = False
lblMonat.Text = "Monat"
dtpMonat.CustomFormat = "yyyy/MM"
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sum100, sum50, gesamt As Double
sum100 = Math.Round(CDbl(txtAusz100.Text) * 0.5, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS!
sum50 = Math.Round(CDbl(txtAusz50.Text) * 0.67, 2) + CDbl(txtAusz50vonSaldo.Text)
gesamt = CDbl(txtAusz.Text)
Dim aksAuszahlung As MsgBoxResult = MsgBox("Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " auszahlen?" & vbNewLine & sum100 & "x 100% ÜS :" & txtAusz100.Text & vbNewLine & sum50 & "x 50% ÜS: " & CDbl(txtAusz50.Text) + CDbl(txtAusz50vonSaldo.Text) & vbNewLine & "ÜS gesamt: " & gesamt, vbYesNo)
If aksAuszahlung = vbYes Then
Dim dtsetEntries As New DataTable
dtsetEntries.Columns.Add("accountid", GetType(Integer))
dtsetEntries.Columns.Add("value", GetType(String))
If sum100 >= 0 Then
Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1550
row.Item("value") = sum100.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If
If sum50 >= 0 Then
Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1551
row.Item("value") = sum50.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If
If gesamt >= 0 Then 'vom ldf Saldo, ev. über API Möglich monatliche Korrektur direkt zu befüllen, dann muss dieser If Zweig überarbeitet werden!!!!!!!!!!!!!!
Dim row = dtsetEntries.NewRow
row.Item("accountid") = 993
row.Item("value") = gesamt.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If
Dim info As String = ""
If timas.setTimeAccountEntries(MA, dtsetEntries, auszahlugsdatum, info) Then
MsgBox("Erfolgreich in Timas eingetragen")
Else
MsgBox(info)
End If
End If
End Sub
Private Sub picDel_Click(sender As Object, e As EventArgs) Handles picDel.Click
Dim aksAuszahlung As MsgBoxResult = MsgBox("Ausbezahlte Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " zurücksetzen?" & vbNewLine & "100% ÜS: " & txtberAusz100.Text & vbNewLine & "50% ÜS: " & txtberAusz50.Text & vbNewLine & "ÜS gesamt: " & CDbl(txtberAusz100.Text) + CDbl(txtberAusz50.Text), vbYesNo)
If aksAuszahlung = vbYes Then
Dim dtdeleteEntries As New DataTable
dtdeleteEntries.Columns.Add("accountid", GetType(Integer))
Dim rowNew = dtdeleteEntries.NewRow
rowNew.Item("accountid") = 993
dtdeleteEntries.Rows.InsertAt(rowNew, dtdeleteEntries.Rows.Count)
If txtAusz100.Text <> "" AndAlso IsNumeric(txtAusz100.Text) Then
Dim row = dtdeleteEntries.NewRow
row.Item("accountid") = 1550
dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count)
End If
If txtAusz50.Text <> "" AndAlso IsNumeric(txtAusz50.Text) Then
Dim row = dtdeleteEntries.NewRow
row.Item("accountid") = 1551
dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count)
End If
If timas.deleteTimeAccounts(auszahlugsdatum, auszahlugsdatum, MA.mit_timasId, dtdeleteEntries) Then
MsgBox("Erfolgreich aus Timas zurückgesetzt!")
picDel.Visible = False
Thread.Sleep(1000) 'warten bis Eintrag in Timas-DB
getUeberstunden(cbxabwDatum.Checked)
End If
End If
End Sub
End Class

View File

@@ -4,6 +4,7 @@ Imports System.Runtime.Remoting
Imports System.Text Imports System.Text
Imports System.Threading Imports System.Threading
Imports System.Windows.Forms Imports System.Windows.Forms
Imports Microsoft.Office.Interop.Outlook
Public Class cTimasAPI Public Class cTimasAPI
@@ -49,18 +50,19 @@ Public Class cTimasAPI
End Function End Function
Public Sub getTimeSaldo(maid As Integer, ByRef info As String, ByRef Optional isEndpointRunning As Boolean = True) Public Function getTimeSaldo(maid As Integer, ByRef info As String, kindofbalance As String, ByRef Optional isEndpointRunning As Boolean = True) As Double
Try Try
Dim returnText As String = "" Dim returnText As String = ""
Dim failureText As String = "" Dim failureText As String = ""
Dim timesaldo As Double = -1
If maid < 1 Then If maid < 1 Then
Exit Sub Return timesaldo
End If End If
If Not checkConnectionTImas(failureText) Then If Not checkConnectionTImas(failureText) Then
Exit Sub Return timesaldo
End If End If
@@ -72,13 +74,13 @@ Public Class cTimasAPI
Debug.WriteLine(rest.LastErrorText) Debug.WriteLine(rest.LastErrorText)
isEndpointRunning = rest.LastMethodSuccess isEndpointRunning = rest.LastMethodSuccess
rest.IdleTimeoutMs = 30000 'defualt rest.IdleTimeoutMs = 30000 'defualt
Exit Sub Return timesaldo
End If End If
If (rest.ResponseStatusCode <> 200) Then If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader) Debug.WriteLine(rest.ResponseHeader)
'lblTimas.Text = rest.ResponseStatusCode & " " & rest.ResponseStatusText 'lblTimas.Text = rest.ResponseStatusCode & " " & rest.ResponseStatusText
Exit Sub Return timesaldo
End If End If
Debug.WriteLine(responseJson) Debug.WriteLine(responseJson)
@@ -97,27 +99,30 @@ Public Class cTimasAPI
'"monthlyBalance": -328380, '"monthlyBalance": -328380,
'"actualTimeOfDay": 4260, '"actualTimeOfDay": 4260,
If kindofbalance = "" Then
Dim saldo = json.StringOf("dailyBalanceYesterday") 'Tagessaldo (gestern) in Sekunden info = "kindOfBalance nicht definiert! "
Return timesaldo
If saldo IsNot Nothing Then Else
Dim saldoAsDouble = CDbl(saldo) Dim saldo = json.StringOf(kindofbalance) 'Tagessaldo (gestern) in Sekunden
saldoAsDouble = Math.Round(saldoAsDouble / 3600, 2) If saldo IsNot Nothing Then
Dim infoBuilder As New StringBuilder Dim saldoAsDouble = CDbl(saldo)
'infoBuilder.Append("Vortag ") saldoAsDouble = Math.Round(saldoAsDouble / 3600, 2)
infoBuilder.Append(saldoAsDouble) Dim infoBuilder As New StringBuilder
infoBuilder.Append(" h") 'infoBuilder.Append("Vortag ")
info = infoBuilder.ToString() infoBuilder.Append(saldoAsDouble)
infoBuilder.Append(" h")
info = infoBuilder.ToString()
timesaldo = saldoAsDouble
Return timesaldo
End If
Return timesaldo
End If End If
Catch ex As WebException Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try End Try
End Sub End Function
Public Function getTimeEntries(ByVal maid As Integer, ByRef dtZeiten As DataTable, Optional ByRef entryExistingToday As Boolean = True, Optional ByRef requestDone As Boolean = False, Optional ByRef isEndpointRunning As Boolean = True) As Boolean Public Function getTimeEntries(ByVal maid As Integer, ByRef dtZeiten As DataTable, Optional ByRef entryExistingToday As Boolean = True, Optional ByRef requestDone As Boolean = False, Optional ByRef isEndpointRunning As Boolean = True) As Boolean
Try Try
@@ -186,7 +191,7 @@ Public Class cTimasAPI
Dim timeEntry As Chilkat.JsonObject = jsonArray.ObjectAt(j) Dim timeEntry As Chilkat.JsonObject = jsonArray.ObjectAt(j)
If IsDate(timeEntry.StringOf("stamp")) Then If IsDate(timeEntry.StringOf("stamp")) Then
If CDate(timeEntry.StringOf("stamp")) >= CDate(Today()) Then If CDate(timeEntry.StringOf("stamp")) >= CDate(Today()) Or CDate(timeEntry.StringOf("stamp")) >= CDate(Today().AddDays(-1)) AndAlso CDate(timeEntry.StringOf("stamp")).Hour >= 16 Then 'entweder heute keine Stempelung oder gestern > 16 Uhr (wegen Nachtschicht!)
Dim R As DataRow = dt.NewRow Dim R As DataRow = dt.NewRow
@@ -910,24 +915,22 @@ Public Class cTimasAPI
dt.Columns.Add("Ausweis-Nr", GetType(Integer)) dt.Columns.Add("Ausweis-Nr", GetType(Integer))
dt.Columns.Add("Info", GetType(String)) dt.Columns.Add("Info", GetType(String))
End If End If
dt.Clear() dt.Clear()
Dim j As Integer = 0 Dim j As Integer = 0
While j < num While j < num
Dim employee As Chilkat.JsonObject = jsonArray.ObjectAt(j) Dim employee As Chilkat.JsonObject = jsonArray.ObjectAt(j)
Dim R As DataRow = dt.NewRow
Dim R As DataRow = dt.NewRow R("Id") = employee.IntOf("id")
R("Id") = employee.IntOf("id") '("externid") = employee.StringOf("externid")
'("externid") = employee.StringOf("externid") R("Personal-Nr (Lohn)") = employee.StringOf("pnr1")
R("Personal-Nr (Lohn)") = employee.StringOf("pnr1") R("Vorname") = employee.StringOf("firstname")
R("Vorname") = employee.StringOf("firstname") R("Nachname") = employee.StringOf("lastname")
R("Nachname") = employee.StringOf("lastname") R("Geschlecht") = employee.StringOf("gender")
R("Geschlecht") = employee.StringOf("gender") R("Ausweis-Nr") = employee.IntOf("card")
R("Ausweis-Nr") = employee.IntOf("card") R("Info") = employee.StringOf("info")
R("Info") = employee.StringOf("info") dt.Rows.Add(R)
dt.Rows.Add(R)
j = j + 1 j = j + 1
End While End While
@@ -937,6 +940,274 @@ Public Class cTimasAPI
End Try End Try
End Function End Function
Public Sub getTimeAccounts(ByRef from As Date, ByRef toDate As Date, ByRef employeeNr As Integer, ByRef accountsdt As DataTable, ByRef dt As DataTable)
Try
Dim failureText As String = ""
If Not checkConnectionTImas(failureText) Then
Exit Sub
End If
Dim success As Boolean
rest.ClearAllQueryParams()
rest.AddQueryParam("from", from.Date.ToString("yyyy-MM-dd"))
rest.AddQueryParam("to", toDate.Date.ToString("yyyy-MM-dd"))
Dim id As String = ""
For Each row As DataRow In accountsdt.Rows
id &= row("accountid") & ","
Next
rest.AddQueryParam("accounts", id)
rest.AddQueryParam("employees", employeeNr)
Dim sbResponseBody As String
sbResponseBody = rest.FullRequestNoBody("GET", API_STRING & "/rest/web-api/accounts/values")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseStatusCode & " " & rest.ResponseStatusText & sbResponseBody.ToString)
End If
Debug.WriteLine(sbResponseBody)
Dim jsonArray As New Chilkat.JsonArray
success = jsonArray.Load(sbResponseBody)
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
If dt IsNot Nothing And Not dt.Columns.Contains("accountid") Then
dt.Columns.Add("accountid", GetType(Integer))
dt.Columns.Add("date", GetType(String))
dt.Columns.Add("value", GetType(Double))
dt.Columns.Add("multiplier", GetType(String))
Else
dt.Clear()
End If
Dim j As Integer = 0
While j < num
Dim accounts As Chilkat.JsonObject = jsonArray.ObjectAt(j)
If accounts.StringOf("value") <> "" Then
Dim R As DataRow = dt.NewRow
R("accountid") = accounts.IntOf("accountid")
R("date") = accounts.StringOf("date")
Dim timeToDouble = accounts.StringOf("value").Replace("-", "")
Dim ts As TimeSpan = New TimeSpan(Integer.Parse(timeToDouble.Split(":"c)(0)), Integer.Parse(timeToDouble.Split(":"c)(1)), 0)
R("value") = Math.Round(ts.TotalHours, 2)
R("multiplier") = IIf(accounts.StringOf("value").Contains("-"), "-", "+")
dt.Rows.Add(R)
End If
j = j + 1
End While
dt.DefaultView.Sort = " accountid asc, date asc"
dt = dt.DefaultView.ToTable()
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Function getTimeaccountList(ByRef dt As DataTable) As String
Dim failureText As String = ""
Try
If Not checkConnectionTImas(failureText) Then
Return failureText
End If
Dim responseJson As String = rest.FullRequestNoBody("GET", "/rest/web-api/accounts/")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return rest.LastErrorText
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
failureText = rest.ResponseStatusCode & " " & rest.ResponseStatusText
Return rest.ResponseStatusCode & " " & rest.ResponseStatusText
End If
Debug.WriteLine(responseJson)
Dim jsonArray As New Chilkat.JsonArray
Dim success As Boolean = jsonArray.Load(responseJson)
If (success <> True) Then
Debug.WriteLine(jsonArray.LastErrorText)
Return jsonArray.LastErrorText
End If
Dim num As Integer = jsonArray.Size
If num = -1 Then
Return "Array Failure"
End If
If dt IsNot Nothing AndAlso Not dt.Columns.Contains("accountid") Then
dt.Columns.Add("accountid", GetType(Integer))
dt.Columns.Add("name", GetType(String))
dt.Columns.Add("accountType", GetType(String))
dt.Columns.Add("info", GetType(String))
dt.Columns.Add("number", GetType(Integer))
End If
dt.Clear()
Dim j As Integer = 0
While j < num
Dim R As DataRow = dt.NewRow
R("accountid") = jsonArray.ObjectAt(j).IntOf("id")
R("name") = jsonArray.ObjectAt(j).StringOf("name")
R("accountType") = jsonArray.ObjectAt(j).StringOf("accountType")
R("info") = jsonArray.ObjectAt(j).StringOf("info")
R("number") = jsonArray.ObjectAt(j).IntOf("number")
dt.Rows.Add(R)
j = j + 1
End While
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
Public Function setTimeAccountEntries(ByVal mitarbeiter As cMitarbeiter, ByVal accountEntrys As DataTable, ByVal accountdate As Date, ByRef info As String)
Dim failureText As String = ""
Dim timeEntryCreated As Boolean = False
If Not checkConnectionTImas(failureText) Then
Return timeEntryCreated
End If
If Not mitarbeiter.mit_timasId > 0 Then
info = "Mitarbeiter besitzt keine Timas-Zuordnung"
Return timeEntryCreated
End If
Dim jsonArr As New Chilkat.JsonArray
For Each ae As DataRow In accountEntrys.Rows
jsonArr.AddObjectAt(-1)
Dim Json As Chilkat.JsonObject = jsonArr.ObjectAt(jsonArr.Size - 1)
Json.UpdateInt("accountid", ae.Item("accountid"))
json.UpdateInt("employeeid", mitarbeiter.mit_timasId)
json.UpdateString("date", accountdate.ToString("yyyy-MM-dd"))
json.UpdateString("value", ae.Item("value"))
Next
Dim sbRequestBody As New Chilkat.StringBuilder
jsonArr.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
Dim success = rest.FullRequestSb("POST", "/rest/web-api/accounts/values", sbRequestBody, sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return timeEntryCreated
End If
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
info = rest.LastErrorText
Return timeEntryCreated
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseHeader)
info = rest.ResponseStatusCode & " " & rest.ResponseStatusText
If sbResponseBody.GetAsString <> "" Then
info &= vbNewLine & sbResponseBody.GetAsString
End If
Return timeEntryCreated
Else
timeEntryCreated = True
End If
Return timeEntryCreated
End Function
Public Function deleteTimeAccounts(ByRef from As Date, ByRef toDate As Date, ByRef employeeNr As Integer, ByRef accountsdt As DataTable) As Boolean
Dim timeEntryDeleted As Boolean = False
Try
Dim failureText As String = ""
If Not checkConnectionTImas(failureText) Then
Return timeEntryDeleted
End If
Dim success As Boolean
rest.ClearAllQueryParams()
rest.AddQueryParam("from", from.Date.ToString("yyyy-MM-dd"))
rest.AddQueryParam("to", toDate.Date.ToString("yyyy-MM-dd"))
Dim id As String = ""
For Each row As DataRow In accountsdt.Rows
id &= row("accountid") & ","
Next
rest.AddQueryParam("accounts", id)
rest.AddQueryParam("employees", employeeNr)
Dim sbResponseBody As String
sbResponseBody = rest.FullRequestNoBody("DELETE", API_STRING & "/rest/web-api/accounts/values")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return timeEntryDeleted
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.WriteLine(rest.ResponseStatusCode & " " & rest.ResponseStatusText & sbResponseBody.ToString)
Return timeEntryDeleted
Else
timeEntryDeleted = True
End If
Return timeEntryDeleted
Catch ex As WebException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function
End Class End Class
@@ -988,6 +1259,4 @@ Public Class cTimasGruppe
Me.empID = empId Me.empID = empId
End Sub End Sub
End Class End Class

View File

@@ -16,12 +16,12 @@
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<DefineDebug>true</DefineDebug> <DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace> <DefineTrace>true</DefineTrace>
<OutputPath>..\..\..\VERAG_PROG_ALLGEMEIN\bin\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>VERAG_PROG_ALLGEMEIN.xml</DocumentationFile> <DocumentationFile>VERAG_PROG_ALLGEMEIN.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn> <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup> </PropertyGroup>
@@ -380,6 +380,12 @@
<Compile Include="frmErrorMeldung.vb"> <Compile Include="frmErrorMeldung.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="Mitarbeiterverzeichnis\frmUeberstundenauszahlen.Designer.vb">
<DependentUpon>frmUeberstundenauszahlen.vb</DependentUpon>
</Compile>
<Compile Include="Mitarbeiterverzeichnis\frmUeberstundenauszahlen.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\Resources.Designer.vb"> <Compile Include="My Project\Resources.Designer.vb">
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
@@ -766,6 +772,9 @@
<EmbeddedResource Include="Mitarbeiterverzeichnis\frmMitarbeitersuche.resx"> <EmbeddedResource Include="Mitarbeiterverzeichnis\frmMitarbeitersuche.resx">
<DependentUpon>frmMitarbeitersuche.vb</DependentUpon> <DependentUpon>frmMitarbeitersuche.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Mitarbeiterverzeichnis\frmUeberstundenauszahlen.resx">
<DependentUpon>frmUeberstundenauszahlen.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx"> <EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator> <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<CustomToolNamespace>My.Resources</CustomToolNamespace> <CustomToolNamespace>My.Resources</CustomToolNamespace>