762 lines
37 KiB
VB.net
762 lines
37 KiB
VB.net
Imports System.Text.RegularExpressions
|
|
|
|
Public Class frmDiestAddMa
|
|
|
|
Dim SQLDienst As New cDienstplan
|
|
Public niederlassung = ""
|
|
Dim ListMA As New List(Of cMAShort)
|
|
Dim MA As New cDienstMA
|
|
Public MA_ID As Integer = -1
|
|
Dim DienstDetails As List(Of cDienstDetails)
|
|
Dim loaded As Boolean = False
|
|
Dim MusterErr As Boolean = False
|
|
Dim SCHICHTEN_ARTEN As New List(Of cDienstplanSchicht)
|
|
Dim ADMIN As New cOptionenDAL
|
|
Dim DGVBind As VERAG_PROG_ALLGEMEIN.cEasyBinding
|
|
|
|
Private Sub frmDiestAddMa_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
|
|
If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
|
|
MessageBox.Show("Enter key pressed")
|
|
End If
|
|
End Sub
|
|
Private Sub frmDiestAddMa_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Dim dt As DataTable = ADMIN.AnzeigeTabelle(" SELECT * FROM [tblDienstplanEintraegeDetails] WHERE [dedet_niederlassung]='" & niederlassung & "' AND dedet_benutzerdefinierteSchicht=1 AND dedet_splitschicht=0 ")
|
|
cboStammSchicht.Items.Clear()
|
|
cboStammSchicht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
For Each r As DataRow In dt.Rows
|
|
Dim SCHICHT As New cDienstplanSchicht(r("dedet_id"))
|
|
SCHICHTEN_ARTEN.Add(SCHICHT)
|
|
cboStammSchicht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(SCHICHT.dedet_abt, SCHICHT.dedet_abt))
|
|
Next
|
|
|
|
|
|
ListMA = SQLDienst.getAllMA("BEIDE")
|
|
DienstDetails = SQLDienst.getAllDienstDetails(niederlassung)
|
|
initCboMuster()
|
|
fillCboMA()
|
|
|
|
|
|
If niederlassung = "ATILLA" Then
|
|
cboAbt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL", "ZOLL"))
|
|
cboAbt.SelectedIndex = 0
|
|
Else
|
|
cboAbt.fillWithSQL("SELECT [abt_kuerzel],abt_bezeichnung FROM [tblAbteilungen] ORDER BY abt_bezeichnung", False, "ADMIN", True)
|
|
End If
|
|
|
|
|
|
cboArbVerh.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Vollzeit", "VZ"))
|
|
cboArbVerh.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Teilzeit", "TZ"))
|
|
|
|
cboFunktion.Items.Clear()
|
|
cboFunktion.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mitarbeiter", "Mitarbeiter"))
|
|
cboFunktion.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Schicht-/Abteilungsleiter", "Leiter"))
|
|
cboFunktion.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Lehrling", "Lehrling"))
|
|
cboFunktion.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Probe", "Probe"))
|
|
cboFunktion.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Ferialpraktikant", "Ferialpraktikant"))
|
|
cboFunktion.SelectedIndex = 0
|
|
|
|
cboLand.Items.Clear()
|
|
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT", "AT"))
|
|
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
|
|
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("GB", "GB"))
|
|
|
|
|
|
|
|
|
|
If MA_ID >= 0 Then
|
|
Me.Text = "Änderung"
|
|
If cboMyItemSelect(cboMA, SQLDienst.getValueTxtBySql("SELECT isnull([dstma_mitId],-1) FROM [tblDienstMitarb] WHERE dstma_id=" & MA_ID, "ADMIN")) Then
|
|
loadMA()
|
|
End If
|
|
Else
|
|
dgvAbwWStd.Enabled = False
|
|
End If
|
|
|
|
|
|
initDgvAbwWStd()
|
|
|
|
loaded = True
|
|
End Sub
|
|
Sub fillCboMA()
|
|
For Each m In ListMA
|
|
cboMA.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(m.mit_nname & " " & m.mit_vname & " (" & m.mit_id & ")", m.mit_id))
|
|
Next
|
|
End Sub
|
|
|
|
Sub initDgvAbwWStd()
|
|
Try
|
|
|
|
With dgvAbwWStd
|
|
' .DataSource = SQLDienst.loadDGV("SELECT * FROM [tblDienstMitarbAbweichendeWochenstunden] WHERE [dstaw_dstmaId]=133")
|
|
|
|
DGVBind = New VERAG_PROG_ALLGEMEIN.cEasyBinding("ADMIN")
|
|
|
|
DGVBind.initBinding("SELECT * FROM [tblDienstMitarbAbweichendeWochenstunden] WHERE [dstaw_dstmaId]='" & MA.dstma_id & "'", "tblDienstMitarbAbweichendeWochenstunden")
|
|
.DataSource = DGVBind.bindingdataTable
|
|
DGVBind.bindingdataTable.Columns("dstaw_dstmaId").DefaultValue = MA.dstma_id
|
|
If .Columns.Count > 0 Then
|
|
.Columns("dstaw_id").Visible = False
|
|
.Columns("dstaw_dstmaId").Visible = False
|
|
.Columns("dstaw_von").HeaderText = "von"
|
|
.Columns("dstaw_bis").HeaderText = "bis"
|
|
.Columns("dstaw_std").HeaderText = "Std."
|
|
End If
|
|
|
|
End With
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
|
' MsgBox(txtRotVonMo.Text)
|
|
MusterErr = False
|
|
If checkValues() Then
|
|
If cboLand.Text = "" Then
|
|
MsgBox("Bitte das Land eintragen")
|
|
cboLand.Focus()
|
|
Exit Sub
|
|
End If
|
|
If initMA() Then
|
|
Dim tz As List(Of cDienstTeilzeit) = initArbVerh()
|
|
If MusterErr Then MsgBox("Bei der Prüfung der Daten für die Muster-Vorlage ist ein Fehler aufgetreten! Bitte um Prüfung!") : Exit Sub
|
|
If SQLDienst.insertDienstMA(MA, niederlassung) And DGVBind.updateBinding Then ' Me.Close()
|
|
SQLDienst.delDienstTeilzeit(MA.dstma_id)
|
|
If cbxMuster.Checked Then 'cboArbVerh.SelectedIndex = 1 Then
|
|
For Each t In tz
|
|
SQLDienst.insertDienstTeilzeit(t)
|
|
Next
|
|
End If
|
|
Me.Close()
|
|
End If
|
|
End If
|
|
Else
|
|
MsgBox("Bei der Überprüfung der Daten ist ein Fehler aufgetreten!")
|
|
End If
|
|
End Sub
|
|
Sub initCboMuster()
|
|
Dim ll As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
|
|
ll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
For Each i In SCHICHTEN_ARTEN
|
|
' ll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(i.dedet_abt, i.dedet_abt))
|
|
Dim schicht_Name = i.dedet_abt
|
|
If i.dedet_bezeichnungDP <> "" Then schicht_Name = i.dedet_bezeichnungDP
|
|
'll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(schicht_Name, i.dedet_abt))
|
|
ll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(schicht_Name, schicht_Name))
|
|
Next
|
|
'll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL Vormittag", "ZOLL_VM"))
|
|
'll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL Nachmittag", "ZOLL_NM"))
|
|
'll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL_TAG", "ZOLL_TAG"))
|
|
'll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("QS (nur SUBEN)", "QS"))
|
|
'll.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL_NACHT (nur ATILLA)", "NACHT"))
|
|
|
|
Dim lcbo As New List(Of ComboBox)
|
|
|
|
lcbo.Add(cboBlauMo)
|
|
lcbo.Add(cboBlauDi)
|
|
lcbo.Add(cboBlauMi)
|
|
lcbo.Add(cboBlauDo)
|
|
lcbo.Add(cboBlauFr)
|
|
lcbo.Add(cboBlauSa)
|
|
lcbo.Add(cboBlauSo)
|
|
|
|
lcbo.Add(cboRotMo)
|
|
lcbo.Add(cboRotDi)
|
|
lcbo.Add(cboRotMi)
|
|
lcbo.Add(cboRotDo)
|
|
lcbo.Add(cboRotFr)
|
|
lcbo.Add(cboRotSa)
|
|
lcbo.Add(cboRotSo)
|
|
|
|
lcbo.Add(cboBlau2Mo)
|
|
lcbo.Add(cboBlau2Di)
|
|
lcbo.Add(cboBlau2Mi)
|
|
lcbo.Add(cboBlau2Do)
|
|
lcbo.Add(cboBlau2Fr)
|
|
lcbo.Add(cboBlau2Sa)
|
|
lcbo.Add(cboBlau2So)
|
|
|
|
lcbo.Add(cboRot2Mo)
|
|
lcbo.Add(cboRot2Di)
|
|
lcbo.Add(cboRot2Mi)
|
|
lcbo.Add(cboRot2Do)
|
|
lcbo.Add(cboRot2Fr)
|
|
lcbo.Add(cboRot2Sa)
|
|
lcbo.Add(cboRot2So)
|
|
|
|
For Each cbo In lcbo
|
|
cbo.Items.Clear()
|
|
AddHandler cbo.SelectedIndexChanged, AddressOf cboSelectedIndexChanged
|
|
For Each o In ll
|
|
cbo.Items.Add(o)
|
|
Next
|
|
cbo.SelectedIndex = 0
|
|
Next
|
|
|
|
|
|
|
|
Dim lcbx As New List(Of CheckBox)
|
|
|
|
lcbx.Add(cbxBlauMo)
|
|
lcbx.Add(cbxBlauDi)
|
|
lcbx.Add(cbxBlauMi)
|
|
lcbx.Add(cbxBlauDo)
|
|
lcbx.Add(cbxBlauFr)
|
|
lcbx.Add(cbxBlauSa)
|
|
lcbx.Add(cbxBlauSo)
|
|
|
|
lcbx.Add(cbxRotMo)
|
|
lcbx.Add(cbxRotDi)
|
|
lcbx.Add(cbxRotMi)
|
|
lcbx.Add(cbxRotDo)
|
|
lcbx.Add(cbxRotFr)
|
|
lcbx.Add(cbxRotSa)
|
|
lcbx.Add(cbxRotSo)
|
|
|
|
lcbx.Add(cbxBlau2Mo)
|
|
lcbx.Add(cbxBlau2Di)
|
|
lcbx.Add(cbxBlau2Mi)
|
|
lcbx.Add(cbxBlau2Do)
|
|
lcbx.Add(cbxBlau2Fr)
|
|
lcbx.Add(cbxBlau2Sa)
|
|
lcbx.Add(cbxBlau2So)
|
|
|
|
lcbx.Add(cbxRot2Mo)
|
|
lcbx.Add(cbxRot2Di)
|
|
lcbx.Add(cbxRot2Mi)
|
|
lcbx.Add(cbxRot2Do)
|
|
lcbx.Add(cbxRot2Fr)
|
|
lcbx.Add(cbxRot2Sa)
|
|
lcbx.Add(cbxRot2So)
|
|
For Each cbx In lcbx
|
|
AddHandler cbx.CheckedChanged, AddressOf cboSelectedIndexChanged
|
|
Next
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub cboSelectedIndexChanged(sender As Object, e As EventArgs)
|
|
If loaded Then
|
|
|
|
Dim tag = sender.name.ToString.Substring(sender.name.length - 2)
|
|
Dim tmpDPSchicht = ""
|
|
'If tag <> "Sa" And tag <> "So" Then
|
|
If sender.name.contains("Blau2") Then
|
|
tmpDPSchicht = "Blau2"
|
|
ElseIf sender.name.contains("Rot2") Then
|
|
tmpDPSchicht = "Rot2"
|
|
ElseIf sender.name.contains("Blau") Then
|
|
tmpDPSchicht = "Blau"
|
|
ElseIf sender.name.contains("Rot") Then
|
|
tmpDPSchicht = "Rot"
|
|
End If
|
|
Dim tmpSchicht = ""
|
|
Dim cbo As ComboBox = DirectCast(FindControl(Me, "cbo" & tmpDPSchicht & tag), ComboBox)
|
|
tmpSchicht = DirectCast(cbo.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
|
|
For Each i In SCHICHTEN_ARTEN
|
|
If tmpSchicht = i.dedet_bezeichnungDP Then
|
|
tmpSchicht = i.dedet_abt
|
|
End If
|
|
Next
|
|
tmpSchicht = DirectCast(cbo.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
|
|
Dim Von = FindControl(Me, "txt" & tmpDPSchicht & "Von" & tag)
|
|
Dim Bis = FindControl(Me, "txt" & tmpDPSchicht & "Bis" & tag)
|
|
Dim Pause = FindControl(Me, "txt" & tmpDPSchicht & "Pause" & tag)
|
|
Dim cbx As CheckBox = FindControl(Me, "cbx" & tmpDPSchicht & tag)
|
|
|
|
If tmpSchicht = "" Then
|
|
cbx.Checked = False
|
|
If Von IsNot Nothing Then Von.Text = "00:00"
|
|
If Bis IsNot Nothing Then Bis.Text = "00:00"
|
|
If Pause IsNot Nothing Then Pause.Text = "0"
|
|
Else
|
|
For Each s In SCHICHTEN_ARTEN
|
|
|
|
cbx.Checked = True
|
|
If s.dedet_abt = tmpSchicht Or s.dedet_bezeichnungDP = tmpSchicht Then
|
|
For Each z In s.ZEITEN
|
|
If z.dsz_woTag.ToUpper = tag.ToUpper Then
|
|
If Von IsNot Nothing Then Von.Text = z.dsz_von
|
|
If Bis IsNot Nothing Then Bis.Text = z.dsz_bis
|
|
If Pause IsNot Nothing Then Pause.Text = z.dsz_pause
|
|
End If
|
|
Next
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
Function FindControl(control As Control, name As String) As Control
|
|
Try
|
|
Return Me.Controls.Find(name, True)(0)
|
|
Catch ex As Exception
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Function initArbVerh() As List(Of cDienstTeilzeit)
|
|
Dim tz As New List(Of cDienstTeilzeit)
|
|
If Not cbxMuster.Checked Then Return tz
|
|
If cbxBlauMo.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "MO", getTZSchicht(cboBlauMo), txtBlauVonMo.Text, txtBlauBisMo.Text, txtBlauPauseMo.Text, txtBlauBemMo.Text))
|
|
If cbxBlauDi.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "DI", getTZSchicht(cboBlauDi), txtBlauVonDi.Text, txtBlauBisDi.Text, txtBlauPauseDi.Text, txtBlauBemDi.Text))
|
|
If cbxBlauMi.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "MI", getTZSchicht(cboBlauMi), txtBlauVonMi.Text, txtBlauBisMi.Text, txtBlauPauseMi.Text, txtBlauBemMi.Text))
|
|
If cbxBlauDo.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "DO", getTZSchicht(cboBlauDo), txtBlauVonDo.Text, txtBlauBisDo.Text, txtBlauPauseDo.Text, txtBlauBemDo.Text))
|
|
If cbxBlauFr.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "FR", getTZSchicht(cboBlauFr), txtBlauVonFr.Text, txtBlauBisFr.Text, txtBlauPauseFr.Text, txtBlauBemFr.Text))
|
|
If cbxBlauSa.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "SA", getTZSchicht(cboBlauSa), txtBlauVonSa.Text, txtBlauBisSa.Text, txtBlauPauseSo.Text, txtBlauBemSa.Text))
|
|
If cbxBlauSo.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU1", "SO", getTZSchicht(cboBlauSo), txtBlauVonSo.Text, txtBlauBisSo.Text, txtBlauPauseSo.Text, txtBlauBemSo.Text))
|
|
If cbxRotMo.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "MO", getTZSchicht(cboRotMo), txtRotVonMo.Text, txtRotBisMo.Text, txtRotPauseMo.Text, txtRotBemMo.Text))
|
|
If cbxRotDi.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "DI", getTZSchicht(cboRotDi), txtRotVonDi.Text, txtRotBisDi.Text, txtRotPauseDi.Text, txtRotBemDi.Text))
|
|
If cbxRotMi.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "MI", getTZSchicht(cboRotMi), txtRotVonMi.Text, txtRotBisMi.Text, txtRotPauseMi.Text, txtRotBemMi.Text))
|
|
If cbxRotDo.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "DO", getTZSchicht(cboRotDo), txtRotVonDo.Text, txtRotBisDo.Text, txtRotPauseDo.Text, txtRotBemDo.Text))
|
|
If cbxRotFr.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "FR", getTZSchicht(cboRotFr), txtRotVonFr.Text, txtRotBisFr.Text, txtRotPauseFr.Text, txtRotBemFr.Text))
|
|
If cbxRotSa.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "SA", getTZSchicht(cboRotSa), txtRotVonSa.Text, txtRotBisSa.Text, txtRotPauseSa.Text, txtRotBemSa.Text))
|
|
If cbxRotSo.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT1", "SO", getTZSchicht(cboRotSo), txtRotVonSo.Text, txtRotBisSo.Text, txtRotPauseSo.Text, txtRotBemSo.Text))
|
|
|
|
If Not cbx4WoRhythmus.Checked Then Return tz
|
|
|
|
If cbxBlauMo.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "MO", getTZSchicht(cboBlau2Mo), txtBlau2VonMo.Text, txtBlau2BisMo.Text, txtBlau2PauseMo.Text, txtBlau2BemMo.Text))
|
|
If cbxBlau2Di.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "DI", getTZSchicht(cboBlau2Di), txtBlau2VonDi.Text, txtBlau2BisDi.Text, txtBlau2PauseDi.Text, txtBlau2BemDi.Text))
|
|
If cbxBlau2Mi.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "MI", getTZSchicht(cboBlau2Mi), txtBlau2VonMi.Text, txtBlau2BisMi.Text, txtBlau2PauseMi.Text, txtBlau2BemMi.Text))
|
|
If cbxBlau2Do.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "DO", getTZSchicht(cboBlau2Do), txtBlau2VonDo.Text, txtBlau2BisDo.Text, txtBlau2PauseDo.Text, txtBlau2BemDo.Text))
|
|
If cbxBlau2Fr.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "FR", getTZSchicht(cboBlau2Fr), txtBlau2VonFr.Text, txtBlau2BisFr.Text, txtBlau2PauseFr.Text, txtBlau2BemFr.Text))
|
|
If cbxBlau2Sa.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "SA", getTZSchicht(cboBlau2Sa), txtBlau2VonSa.Text, txtBlau2BisSa.Text, txtBlau2PauseSo.Text, txtBlau2BemSa.Text))
|
|
If cbxBlau2So.Checked Then tz.Add(newTZ(MA.dstma_id, "BLAU2", "SO", getTZSchicht(cboBlau2So), txtBlau2VonSo.Text, txtBlau2BisSo.Text, txtBlau2PauseSo.Text, txtBlau2BemSo.Text))
|
|
If cbxRot2Mo.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "MO", getTZSchicht(cboRot2Mo), txtRot2VonMo.Text, txtRot2BisMo.Text, txtRot2PauseMo.Text, txtRot2BemMo.Text))
|
|
If cbxRot2Di.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "DI", getTZSchicht(cboRot2Di), txtRot2VonDi.Text, txtRot2BisDi.Text, txtRot2PauseDi.Text, txtRot2BemDi.Text))
|
|
If cbxRot2Mi.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "MI", getTZSchicht(cboRot2Mi), txtRot2VonMi.Text, txtRot2BisMi.Text, txtRot2PauseMi.Text, txtRot2BemMi.Text))
|
|
If cbxRot2Do.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "DO", getTZSchicht(cboRot2Do), txtRot2VonDo.Text, txtRot2BisDo.Text, txtRot2PauseDo.Text, txtRot2BemDo.Text))
|
|
If cbxRot2Fr.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "FR", getTZSchicht(cboRot2Fr), txtRot2VonFr.Text, txtRot2BisFr.Text, txtRot2PauseFr.Text, txtRot2BemFr.Text))
|
|
If cbxRot2Sa.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "SA", getTZSchicht(cboRot2Sa), txtRot2VonSa.Text, txtRot2BisSa.Text, txtRot2PauseSa.Text, txtRot2BemSa.Text))
|
|
If cbxRot2So.Checked Then tz.Add(newTZ(MA.dstma_id, "ROT2", "SO", getTZSchicht(cboRot2So), txtRot2VonSo.Text, txtRot2BisSo.Text, txtRot2PauseSo.Text, txtRot2BemSo.Text))
|
|
|
|
Return tz
|
|
End Function
|
|
Function newTZ(dsttz_maId As Integer, dsttz_dienstplan As String, dsttz_wotag As String, dsttz_abt As String, dsttz_von As String, dsttz_bis As String, dsttz_pause As String, dsttz_bemerkung As String) As cDienstTeilzeit
|
|
Dim tz As New cDienstTeilzeit
|
|
Dim rgx As New Regex("^\d{2}:\d{2}$")
|
|
' MsgBox(rgx.IsMatch(dsttz_von))
|
|
|
|
If Not rgx.IsMatch(dsttz_von) Then MusterErr = True
|
|
If Not rgx.IsMatch(dsttz_bis) Then MusterErr = True
|
|
If Not IsNumeric(dsttz_pause) Then MusterErr = True
|
|
|
|
|
|
tz.dsttz_maId = dsttz_maId
|
|
tz.dsttz_wotag = dsttz_wotag
|
|
tz.dsttz_abt = dsttz_abt
|
|
tz.dsttz_von = dsttz_von
|
|
|
|
tz.dsttz_bis = dsttz_bis
|
|
tz.dsttz_dienstplan = dsttz_dienstplan
|
|
tz.dsttz_pause = dsttz_pause.Replace(",", ".")
|
|
tz.dsttz_bemerkung = dsttz_bemerkung
|
|
|
|
Return tz
|
|
End Function
|
|
Function getTZSchicht(cbo As ComboBox) As String
|
|
Try
|
|
Return DirectCast(cbo.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
Catch ex As Exception
|
|
Return ""
|
|
End Try
|
|
End Function
|
|
|
|
Function checkValues() As Boolean
|
|
If Not IsNumeric(txtWoStd.Text) Then Return False
|
|
Return True
|
|
End Function
|
|
Sub getArbVhIndex(cbo As ComboBox, s As String)
|
|
For Each i In cbo.Items
|
|
If DirectCast(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value = s Then
|
|
cbo.SelectedItem = i : Exit Sub
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Sub loadMA()
|
|
MA = SQLDienst.getDstMA(MA_ID)
|
|
cboMyItemSelect(cboAbt, MA.dstma_abteilung)
|
|
cboMyItemSelect(cboFunktion, MA.dstma_funktion)
|
|
cboMyItemSelect(cboArbVerh, MA.dstma_arbvh)
|
|
cboMyItemSelect(cboLand, MA.dstma_land)
|
|
|
|
txtWoStd.Text = MA.dstma_wochenStunden
|
|
cboStammSchicht.Text = MA.dstma_stammSchicht
|
|
txtKuerzel.Text = MA.dstma_kuerzel
|
|
txtReihenfolge.Text = MA.dstma_reihenfolge
|
|
'cboLand.Text = MA.dstma_land
|
|
Button1.BackColor = ColorTranslator.FromHtml(MA.dstma_farbe)
|
|
|
|
If MA.dstma_TageProWoche >= 0 Then
|
|
cboDaysPerWeek.Text = MA.dstma_TageProWoche
|
|
End If
|
|
|
|
cbxMuster.Checked = MA.dstma_muster
|
|
cbxWEStdRegelAZ.Checked = MA.dstma_WEStdRegelAZ
|
|
cbxInaktiv.Checked = MA.dstma_inaktiv
|
|
cbx4WoRhythmus.Checked = MA.dstma_4wo
|
|
|
|
txtStdFeiertagTZ.Text = If(MA.dstma_TzFeiertageStd, "")
|
|
|
|
|
|
If cbxMuster.Checked Then 'cboArbVerh.SelectedIndex = 1 Then
|
|
Dim tz As List(Of cDienstTeilzeit) = SQLDienst.getAllDienstTeilzeit(MA.dstma_id)
|
|
For Each t In tz
|
|
Select Case t.dsttz_wotag
|
|
Case "MO"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauMo.Checked = True
|
|
getArbVhIndex(cboBlauMo, t.dsttz_abt)
|
|
txtBlauVonMo.Text = t.dsttz_von
|
|
txtBlauBisMo.Text = t.dsttz_bis
|
|
txtBlauPauseMo.Text = t.dsttz_pause
|
|
txtBlauBemMo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotMo.Checked = True
|
|
getArbVhIndex(cboRotMo, t.dsttz_abt)
|
|
txtRotVonMo.Text = t.dsttz_von
|
|
txtRotBisMo.Text = t.dsttz_bis
|
|
txtRotPauseMo.Text = t.dsttz_pause
|
|
txtRotBemMo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2Mo.Checked = True
|
|
getArbVhIndex(cboBlau2Mo, t.dsttz_abt)
|
|
txtBlau2VonMo.Text = t.dsttz_von
|
|
txtBlau2BisMo.Text = t.dsttz_bis
|
|
txtBlau2PauseMo.Text = t.dsttz_pause
|
|
txtBlau2BemMo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2Mo.Checked = True
|
|
getArbVhIndex(cboRot2Mo, t.dsttz_abt)
|
|
txtRot2VonMo.Text = t.dsttz_von
|
|
txtRot2BisMo.Text = t.dsttz_bis
|
|
txtRot2PauseMo.Text = t.dsttz_pause
|
|
txtRot2BemMo.Text = t.dsttz_bemerkung
|
|
End If
|
|
Case "DI"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauDi.Checked = True
|
|
getArbVhIndex(cboBlauDi, t.dsttz_abt)
|
|
txtBlauVonDi.Text = t.dsttz_von
|
|
txtBlauBisDi.Text = t.dsttz_bis
|
|
txtBlauPauseDi.Text = t.dsttz_pause
|
|
txtBlauBemDi.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotDi.Checked = True
|
|
getArbVhIndex(cboRotDi, t.dsttz_abt)
|
|
txtRotVonDi.Text = t.dsttz_von
|
|
txtRotBisDi.Text = t.dsttz_bis
|
|
txtRotPauseDi.Text = t.dsttz_pause
|
|
txtRotBemDi.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2Di.Checked = True
|
|
getArbVhIndex(cboBlau2Di, t.dsttz_abt)
|
|
txtBlau2VonDi.Text = t.dsttz_von
|
|
txtBlau2BisDi.Text = t.dsttz_bis
|
|
txtBlau2PauseDi.Text = t.dsttz_pause
|
|
txtBlau2BemDi.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2Di.Checked = True
|
|
getArbVhIndex(cboRot2Di, t.dsttz_abt)
|
|
txtRot2VonDi.Text = t.dsttz_von
|
|
txtRot2BisDi.Text = t.dsttz_bis
|
|
txtRot2PauseDi.Text = t.dsttz_pause
|
|
txtRot2BemDi.Text = t.dsttz_bemerkung
|
|
End If
|
|
Case "MI"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauMi.Checked = True
|
|
getArbVhIndex(cboBlauMi, t.dsttz_abt)
|
|
txtBlauVonMi.Text = t.dsttz_von
|
|
txtBlauBisMi.Text = t.dsttz_bis
|
|
txtBlauPauseMi.Text = t.dsttz_pause
|
|
txtBlauBemMi.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotMi.Checked = True
|
|
getArbVhIndex(cboRotMi, t.dsttz_abt)
|
|
txtRotVonMi.Text = t.dsttz_von
|
|
txtRotBisMi.Text = t.dsttz_bis
|
|
txtRotPauseMi.Text = t.dsttz_pause
|
|
txtRotBemMi.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2Mi.Checked = True
|
|
getArbVhIndex(cboBlau2Mi, t.dsttz_abt)
|
|
txtBlau2VonMi.Text = t.dsttz_von
|
|
txtBlau2BisMi.Text = t.dsttz_bis
|
|
txtBlau2PauseMi.Text = t.dsttz_pause
|
|
txtBlau2BemMi.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2Mi.Checked = True
|
|
getArbVhIndex(cboRot2Mi, t.dsttz_abt)
|
|
txtRot2VonMi.Text = t.dsttz_von
|
|
txtRot2BisMi.Text = t.dsttz_bis
|
|
txtRot2PauseMi.Text = t.dsttz_pause
|
|
txtRot2BemMi.Text = t.dsttz_bemerkung
|
|
End If
|
|
Case "DO"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauDo.Checked = True
|
|
getArbVhIndex(cboBlauDo, t.dsttz_abt)
|
|
txtBlauVonDo.Text = t.dsttz_von
|
|
txtBlauBisDo.Text = t.dsttz_bis
|
|
txtBlauPauseDo.Text = t.dsttz_pause
|
|
txtBlauBemDo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotDo.Checked = True
|
|
getArbVhIndex(cboRotDo, t.dsttz_abt)
|
|
txtRotVonDo.Text = t.dsttz_von
|
|
txtRotBisDo.Text = t.dsttz_bis
|
|
txtRotPauseDo.Text = t.dsttz_pause
|
|
txtRotBemDo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2Do.Checked = True
|
|
getArbVhIndex(cboBlau2Do, t.dsttz_abt)
|
|
txtBlau2VonDo.Text = t.dsttz_von
|
|
txtBlau2BisDo.Text = t.dsttz_bis
|
|
txtBlau2PauseDo.Text = t.dsttz_pause
|
|
txtBlau2BemDo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2Do.Checked = True
|
|
getArbVhIndex(cboRot2Do, t.dsttz_abt)
|
|
txtRot2VonDo.Text = t.dsttz_von
|
|
txtRot2BisDo.Text = t.dsttz_bis
|
|
txtRot2PauseDo.Text = t.dsttz_pause
|
|
txtRot2BemDo.Text = t.dsttz_bemerkung
|
|
End If
|
|
Case "FR"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauFr.Checked = True
|
|
getArbVhIndex(cboBlauFr, t.dsttz_abt)
|
|
txtBlauVonFr.Text = t.dsttz_von
|
|
txtBlauBisFr.Text = t.dsttz_bis
|
|
txtBlauPauseFr.Text = t.dsttz_pause
|
|
txtBlauBemFr.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotFr.Checked = True
|
|
getArbVhIndex(cboRotFr, t.dsttz_abt)
|
|
txtRotVonFr.Text = t.dsttz_von
|
|
txtRotBisFr.Text = t.dsttz_bis
|
|
txtRotPauseFr.Text = t.dsttz_pause
|
|
txtRotBemFr.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2Fr.Checked = True
|
|
getArbVhIndex(cboBlau2Fr, t.dsttz_abt)
|
|
txtBlau2VonFr.Text = t.dsttz_von
|
|
txtBlau2BisFr.Text = t.dsttz_bis
|
|
txtBlau2PauseFr.Text = t.dsttz_pause
|
|
txtBlau2BemFr.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2Fr.Checked = True
|
|
getArbVhIndex(cboRot2Fr, t.dsttz_abt)
|
|
txtRot2VonFr.Text = t.dsttz_von
|
|
txtRot2BisFr.Text = t.dsttz_bis
|
|
txtRot2PauseFr.Text = t.dsttz_pause
|
|
txtRot2BemFr.Text = t.dsttz_bemerkung
|
|
End If
|
|
Case "SA"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauSa.Checked = True
|
|
getArbVhIndex(cboBlauSa, t.dsttz_abt)
|
|
txtBlauVonSa.Text = t.dsttz_von
|
|
txtBlauBisSa.Text = t.dsttz_bis
|
|
txtBlauPauseSa.Text = t.dsttz_pause
|
|
txtBlauBemSa.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotSa.Checked = True
|
|
getArbVhIndex(cboRotSa, t.dsttz_abt)
|
|
txtRotVonSa.Text = t.dsttz_von
|
|
txtRotBisSa.Text = t.dsttz_bis
|
|
txtRotPauseSa.Text = t.dsttz_pause
|
|
txtRotBemSa.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2Sa.Checked = True
|
|
getArbVhIndex(cboBlau2Sa, t.dsttz_abt)
|
|
txtBlau2VonSa.Text = t.dsttz_von
|
|
txtBlau2BisSa.Text = t.dsttz_bis
|
|
txtBlau2PauseSa.Text = t.dsttz_pause
|
|
txtBlau2BemSa.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2Sa.Checked = True
|
|
getArbVhIndex(cboRot2Sa, t.dsttz_abt)
|
|
txtRot2VonSa.Text = t.dsttz_von
|
|
txtRot2BisSa.Text = t.dsttz_bis
|
|
txtRot2PauseSa.Text = t.dsttz_pause
|
|
txtRot2BemSa.Text = t.dsttz_bemerkung
|
|
End If
|
|
Case "SO"
|
|
If t.dsttz_dienstplan = "BLAU1" Then
|
|
cbxBlauSo.Checked = True
|
|
getArbVhIndex(cboBlauSo, t.dsttz_abt)
|
|
txtBlauVonSo.Text = t.dsttz_von
|
|
txtBlauBisSo.Text = t.dsttz_bis
|
|
txtBlauPauseSo.Text = t.dsttz_pause
|
|
txtBlauBemSo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT1" Then
|
|
cbxRotSo.Checked = True
|
|
getArbVhIndex(cboRotSo, t.dsttz_abt)
|
|
txtRotVonSo.Text = t.dsttz_von
|
|
txtRotBisSo.Text = t.dsttz_bis
|
|
txtRotPauseSo.Text = t.dsttz_pause
|
|
txtRotBemSo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "BLAU2" Then
|
|
cbxBlau2So.Checked = True
|
|
getArbVhIndex(cboBlau2So, t.dsttz_abt)
|
|
txtBlau2VonSo.Text = t.dsttz_von
|
|
txtBlau2BisSo.Text = t.dsttz_bis
|
|
txtBlau2PauseSo.Text = t.dsttz_pause
|
|
txtBlau2BemSo.Text = t.dsttz_bemerkung
|
|
ElseIf t.dsttz_dienstplan = "ROT2" Then
|
|
cbxRot2So.Checked = True
|
|
getArbVhIndex(cboRot2So, t.dsttz_abt)
|
|
txtRot2VonSo.Text = t.dsttz_von
|
|
txtRot2BisSo.Text = t.dsttz_bis
|
|
txtRot2PauseSo.Text = t.dsttz_pause
|
|
txtRot2BemSo.Text = t.dsttz_bemerkung
|
|
End If
|
|
End Select
|
|
Next
|
|
End If
|
|
End Sub
|
|
Function initMA() As Boolean
|
|
Try
|
|
MA.dstma_mitId = CType(cboMA.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
MA.dstma_abteilung = CType(cboAbt.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
MA.dstma_funktion = CType(cboFunktion.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
MA.dstma_arbvh = CType(cboArbVerh.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
MA.dstma_wochenStunden = txtWoStd.Text
|
|
MA.dstma_stammSchicht = cboStammSchicht.Text
|
|
MA.dstma_kuerzel = txtKuerzel.Text
|
|
MA.dstma_reihenfolge = txtReihenfolge.Text
|
|
MA.dstma_farbe = ColorTranslator.ToHtml(Button1.BackColor)
|
|
MA.dstma_muster = cbxMuster.Checked
|
|
MA.dstma_WEStdRegelAZ = cbxWEStdRegelAZ.Checked
|
|
MA.dstma_inaktiv = cbxInaktiv.Checked
|
|
MA.dstma_4wo = cbx4WoRhythmus.Checked
|
|
MA.dstma_TzFeiertageStd = Nothing
|
|
MA.dstma_land = CType(cboLand.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
If IsNumeric(txtStdFeiertagTZ.Text) And txtStdFeiertagTZ.Visible Then MA.dstma_TzFeiertageStd = txtStdFeiertagTZ.Text
|
|
|
|
If IsNumeric(cboDaysPerWeek.Text) Then
|
|
MA.dstma_TageProWoche = CInt(cboDaysPerWeek.Text)
|
|
Else
|
|
MA.dstma_TageProWoche = -1
|
|
End If
|
|
Return True
|
|
Catch
|
|
MsgBox("Alles ausgefüllt?")
|
|
End Try
|
|
Return False
|
|
End Function
|
|
Private Sub cboMA_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboMA.SelectedIndexChanged
|
|
' Dim oItem As VERAG_PROG_ALLGEMEIN.MyListItem = CType(cboMA.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem)
|
|
|
|
End Sub
|
|
|
|
Function cboMyItemSelect(cbo As ComboBox, value As String) As Boolean
|
|
For Each i In cbo.Items
|
|
If i.GetType.Name.ToString.EndsWith("MyListItem") Then
|
|
Try
|
|
If CType(i, VERAG_PROG_ALLGEMEIN.MyListItem).Value = value Then
|
|
cbo.SelectedItem = i : Return True
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End If
|
|
Next
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
|
|
If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
|
|
btnOK.PerformClick()
|
|
Return True
|
|
End If
|
|
Return MyBase.ProcessCmdKey(msg, keyData)
|
|
|
|
End Function
|
|
|
|
Private Sub cboArbVerh_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboArbVerh.SelectedIndexChanged
|
|
' grpTeilzeit.Enabled = (cboArbVerh.SelectedIndex = 1)
|
|
Label27.Visible = (cboArbVerh.SelectedIndex = 1)
|
|
Button1.Visible = (cboArbVerh.SelectedIndex = 1)
|
|
|
|
initTZUEberStd()
|
|
' cboDaysPerWeek.Visible = (cboArbVerh.SelectedIndex = 1)
|
|
' lblTage.Visible = (cboArbVerh.SelectedIndex = 1)
|
|
End Sub
|
|
|
|
Sub initTZUEberStd()
|
|
If Not cbxMuster.Checked And cboArbVerh.SelectedIndex = 1 Then
|
|
txtStdFeiertagTZ.Visible = True
|
|
Label57.Visible = True
|
|
Else
|
|
txtStdFeiertagTZ.Visible = False
|
|
Label57.Visible = False
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub cboStammSchicht_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboStammSchicht.SelectedIndexChanged
|
|
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
If ColorDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then
|
|
Button1.BackColor = ColorDialog1.Color
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub cbxMuster_CheckedChanged(sender As Object, e As EventArgs) Handles cbxMuster.CheckedChanged
|
|
grpTeilzeit.Enabled = sender.checked
|
|
cbxWEStdRegelAZ.Enabled = sender.checked
|
|
If sender.checked = False Then cbxWEStdRegelAZ.Checked = False
|
|
initTZUEberStd()
|
|
End Sub
|
|
|
|
Private Sub cbx4WoRhythmus_CheckedChanged(sender As Object, e As EventArgs) Handles cbx4WoRhythmus.CheckedChanged
|
|
pnl3.Enabled = sender.checked
|
|
pnl4.Enabled = sender.checked
|
|
End Sub
|
|
|
|
|
|
Private Sub cboAbt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboAbt.SelectedIndexChanged
|
|
|
|
End Sub
|
|
|
|
Private Sub dgvAbwWStd_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAbwWStd.CellValueChanged
|
|
|
|
|
|
Try
|
|
If dgvAbwWStd.CurrentRow Is Nothing Then Exit Sub
|
|
|
|
If dgvAbwWStd.CurrentRow.Cells("dstaw_std").Value IsNot Nothing AndAlso IsNumeric(dgvAbwWStd.CurrentRow.Cells("dstaw_std").Value) Then
|
|
|
|
If Math.Floor(dgvAbwWStd.CurrentRow.Cells("dstaw_std").Value) <> 0 Then
|
|
If dgvAbwWStd.CurrentRow.Cells("dstaw_std").Value Mod 1 <> 0.5 And dgvAbwWStd.CurrentRow.Cells("dstaw_std").Value Mod 1 <> 0 Then
|
|
MsgBox("Fehler, nur 0.5 als Nachkommastelle erlaubt")
|
|
btnOK.Enabled = False
|
|
Else
|
|
btnOK.Enabled = True
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
|
|
End Sub
|
|
End Class |