325 lines
13 KiB
VB.net
325 lines
13 KiB
VB.net
Imports System.ComponentModel
|
|
|
|
Public Class frmSeminarDetails
|
|
Public semId As Integer = -1
|
|
Public vortragenderId As Integer
|
|
Private SEMINARE As New cSeminare
|
|
Dim seminar As New cSeminar
|
|
Dim cOptionenDAL As New cOptionenDAL
|
|
Private Grid_aktiv As Boolean = False
|
|
Private Anzahl As Integer
|
|
Private locZeilen As Integer = -1
|
|
|
|
|
|
|
|
Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles txtName.TextChanged
|
|
lblSeminarname.Text = txtName.Text
|
|
End Sub
|
|
|
|
Private Sub frmSeminarDetails_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
If semId >= 0 Then
|
|
seminar = SEMINARE.getSeminarById(semId)
|
|
btnAddTeilnehmer.Enabled = True
|
|
btnDelTeilnehmer.Enabled = True
|
|
Else
|
|
btnSave.Visible = False
|
|
btnAddTeilnehmer.Enabled = False
|
|
btnDelTeilnehmer.Enabled = False
|
|
End If
|
|
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Unterschr. Vorstand + Vortr.Name (Standard)", "rptSeminatZert.rpx"))
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Unterschr. Vorstand", "rptSeminatZertVorst.rpx"))
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Unterschr. Vorstand + Vortr.Allg / nur Inh. 1", "rptSeminatZertAllgUnter.rpx"))
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Unterschr. XXX", "rptSeminatZertVorst.rpx"))
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Interne Ausbildung CS", "rptIntAusb.rpx")) '3
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Interne Ausbildung AG", "rptIntAusbAG.rpx")) '3
|
|
cboReportVorlage.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Interne Ausbildung ATILLA", "rptIntAusbATILLA.rpx")) '3
|
|
|
|
|
|
datVon.Format = DateTimePickerFormat.Long
|
|
datBis.Format = DateTimePickerFormat.Long
|
|
datDauer.Format = DateTimePickerFormat.Custom : datDauer.CustomFormat = "HH:mm" : datDauer.ShowUpDown = True
|
|
datVonTime.Format = DateTimePickerFormat.Custom : datVonTime.CustomFormat = "HH:mm" : datVonTime.ShowUpDown = True
|
|
datBisTime.Format = DateTimePickerFormat.Custom : datBisTime.CustomFormat = "HH:mm" : datBisTime.ShowUpDown = True
|
|
|
|
initLoad()
|
|
Grid_aktiv = True
|
|
Tabelle_anzeigen()
|
|
End Sub
|
|
|
|
Private Sub initLoad()
|
|
txtName.Text = seminar.sem_name
|
|
' datVon.Text = seminar.sem_von
|
|
' datBis.Text = seminar.sem_bis
|
|
cboOrt.Text = seminar.sem_ort
|
|
cbxIsVERAG_Seminar.Checked = seminar.sem_isVeragSeminar
|
|
cbxIntAusbildung.Checked = seminar.sem_isIntAusbildung
|
|
txtVortragender.Text = seminar.sem_vortragender
|
|
rtbInhalt.Text = seminar.sem_inhalt
|
|
rtbInhalt2.Text = seminar.sem_inhalt2
|
|
rtbinfo.Text = seminar.sem_info
|
|
datDauer.Text = seminar.sem_dauer
|
|
lblBez.Text = seminar.sem_bezeichnung
|
|
|
|
Dim dtVon As DateTime = seminar.sem_von
|
|
datVonTime.Text = dtVon.ToString("HH:mm")
|
|
datVon.Text = seminar.sem_von
|
|
|
|
Dim dtBis As DateTime = seminar.sem_bis
|
|
datBisTime.Text = dtBis.ToString("HH:mm")
|
|
datBis.Text = seminar.sem_bis
|
|
|
|
End Sub
|
|
Private Sub initSave()
|
|
seminar.sem_name = txtName.Text
|
|
' seminar.sem_von = datVon.Text
|
|
'seminar.sem_bis = datBis.Text
|
|
seminar.sem_ort = cboOrt.Text
|
|
seminar.sem_isVeragSeminar = cbxIsVERAG_Seminar.Checked
|
|
seminar.sem_isIntAusbildung = cbxIntAusbildung.Checked
|
|
seminar.sem_vortragender = txtVortragender.Text
|
|
seminar.sem_inhalt = rtbInhalt.Text
|
|
seminar.sem_inhalt2 = rtbInhalt2.Text
|
|
seminar.sem_info = rtbinfo.Text
|
|
seminar.sem_dauer = datDauer.Text
|
|
seminar.sem_bezeichnung = lblBez.Text
|
|
|
|
Dim dtVon = DateTime.Parse(datVon.Text & " " & datVonTime.Text)
|
|
seminar.sem_von = dtVon
|
|
Dim dtBis = DateTime.Parse(datBis.Text & " " & datBisTime.Text)
|
|
seminar.sem_bis = dtBis
|
|
seminar.sem_type = "SCHULUNG"
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles btnAddTeilnehmer.Click
|
|
frmMitarbSuche.searchUse = "addTeilnehmer"
|
|
frmMitarbSuche.Show()
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
frmMitarbSuche.searchUse = "vortragender"
|
|
frmMitarbSuche.Show()
|
|
End Sub
|
|
|
|
Public Sub Tabelle_anzeigen()
|
|
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
|
|
'lblMs.Image = My.Resources.sanduhr
|
|
'Paint wieder reaktivieren
|
|
locZeilen = -1
|
|
If Not Grid_aktiv Then Exit Sub
|
|
Dim top As String = "" ' "top 100"
|
|
|
|
'je nach Auswahl SQL anpassen
|
|
Dim hSQL = "SELECT semi_id,mit_id, mit_username, mit_vname, mit_nname, mit_niederlassung, mit_abteilung,mit_geschlecht FROM tblMitarbeiter INNER JOIN tblSemMitarb ON semi_semId=" & semId & " AND mit_id=semi_mitId "
|
|
|
|
' MsgBox(hSQL)
|
|
dgvTeilnehmer.DataSource = cOptionenDAL.AnzeigeTabelle(hSQL)
|
|
|
|
|
|
'Tabelle Kommt/Geht bereinigen
|
|
If dgvTeilnehmer.RowCount = 0 Then
|
|
dgvTeilnehmer.DataSource = Nothing
|
|
Else
|
|
Spalten_festlegen()
|
|
' Eintraege_festlegen()
|
|
'AL: Sortierung nach Ausfahrt (Zeit)
|
|
dgvTeilnehmer.Sort(dgvTeilnehmer.Columns(3), ListSortDirection.Ascending)
|
|
End If
|
|
|
|
'Anzeige der Anzahl gewählter/aller Datensätze
|
|
If (dgvTeilnehmer.RowCount = 100) Then
|
|
'lblAnzahl.Text = Format(dgvTeilnehmer.RowCount, "#,##0") & " ausgewählt (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
|
|
Else
|
|
' lblAnzahl.Text = Format(dgvTeilnehmer.RowCount, "#,##0") & " ausgewählt"
|
|
End If
|
|
' lblAnzahl.Refresh()
|
|
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
|
|
' lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
|
|
'lblMs.Image = Nothing
|
|
End Sub
|
|
|
|
|
|
Private Sub Spalten_festlegen()
|
|
With dgvTeilnehmer
|
|
.RowTemplate.Height = 20
|
|
.RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
|
|
.AllowUserToAddRows = False
|
|
.AllowUserToDeleteRows = False
|
|
.AllowUserToOrderColumns = False
|
|
.AllowUserToResizeColumns = False
|
|
.AllowUserToResizeRows = False
|
|
.RowTemplate.ReadOnly = True
|
|
.RowHeadersVisible = False
|
|
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
|
|
|
|
.AllowUserToOrderColumns = True
|
|
|
|
.Columns(0).Visible = False 'ID nicht anzeigen
|
|
.Columns(1).Visible = False 'ID nicht anzeigen
|
|
|
|
.Columns(2).Width = 90
|
|
.Columns(2).HeaderText = "Username"
|
|
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
|
|
|
|
.Columns(3).Width = 160
|
|
.Columns(3).HeaderText = "Vorname"
|
|
|
|
.Columns(4).Width = 180
|
|
.Columns(4).HeaderText = "Nachname"
|
|
|
|
.Columns(5).Width = 95
|
|
.Columns(5).HeaderText = "Niederlassung"
|
|
|
|
.Columns(6).Width = 95
|
|
.Columns(6).HeaderText = "Abteilung"
|
|
|
|
.Columns(7).Visible = False 'geschlecht nicht anzeigen
|
|
|
|
|
|
End With
|
|
End Sub
|
|
|
|
|
|
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles btnDelTeilnehmer.Click
|
|
SEMINARE.delSemMitarbeiter(dgvTeilnehmer.CurrentRow.Cells(0).Value)
|
|
Tabelle_anzeigen()
|
|
End Sub
|
|
|
|
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
|
saveSeminar()
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
saveSeminar()
|
|
End Sub
|
|
|
|
Private Sub saveSeminar()
|
|
initSave()
|
|
If semId >= 0 Then
|
|
seminar.sem_id = semId
|
|
SEMINARE.updateSeminare(seminar)
|
|
Else
|
|
initSave()
|
|
SEMINARE.insertSeminare(seminar)
|
|
End If
|
|
frmMain.btnSchulungen.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btnPrintAllCert.Click
|
|
If dgvTeilnehmer.Rows.Count = 0 Then MsgBox("Keine Teilnehmer eingetragen!") : Exit Sub
|
|
Dim semiCert As New semiCert
|
|
Dim teilnehmer(dgvTeilnehmer.RowCount - 1) As String
|
|
Dim cnt As Integer = 0
|
|
For Each Zeile As DataGridViewRow In dgvTeilnehmer.Rows
|
|
If cbxIntAusbildung.Checked Then
|
|
If Zeile.Cells(7).Value = "m" Then teilnehmer(cnt) = "Herr "
|
|
If Zeile.Cells(7).Value = "w" Then teilnehmer(cnt) = "Frau "
|
|
End If
|
|
teilnehmer(cnt) = teilnehmer(cnt) & Zeile.Cells(3).Value & " "
|
|
teilnehmer(cnt) = teilnehmer(cnt) & Zeile.Cells(4).Value
|
|
cnt += 1
|
|
Next
|
|
semiCert.teilnehmer = teilnehmer
|
|
|
|
If datBis.Text = datVon.Text Then
|
|
semiCert.datum = "hat am " & datVon.Value.ToShortDateString & " am Seminar"
|
|
Else
|
|
semiCert.datum = "hat vom " & datVon.Value.ToShortDateString & " bis zum " & datBis.Value.ToShortDateString & " am Seminar"
|
|
End If
|
|
|
|
semiCert.titel = txtName.Text
|
|
semiCert.inhalt = rtbInhalt.Text
|
|
semiCert.inhalt2 = rtbInhalt2.Text
|
|
semiCert.referent = txtVortragender.Text
|
|
|
|
semiCert.unterzeichnender = txtVortragender.Text
|
|
|
|
|
|
' semiCert.zeitraum = lblBez.Text
|
|
If Not cboReportVorlage.SelectedItem Is Nothing Then frmActiveReprotViewer.report = CType(cboReportVorlage.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
If cbxIntAusbildung.Checked Then
|
|
semiCert.datum = lblBez.Text
|
|
frmActiveReprotViewer.BefüllenSeminarZertifikatIntern(semiCert)
|
|
Else
|
|
frmActiveReprotViewer.BefüllenSeminarZertifikat(semiCert)
|
|
End If
|
|
frmActiveReprotViewer.Show()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles btnPrintSelectedCert.Click
|
|
If dgvTeilnehmer.Rows.Count = 0 Then MsgBox("Keine Teilnehmer eingetragen!") : Exit Sub
|
|
Dim semiCert As New semiCert
|
|
Dim teilnehmer(dgvTeilnehmer.SelectedRows.Count - 1) As String
|
|
Dim cnt As Integer = 0
|
|
For Each Zeile As DataGridViewRow In dgvTeilnehmer.Rows
|
|
If Zeile.Selected Then
|
|
If cbxIntAusbildung.Checked Then
|
|
If Zeile.Cells(7).Value = "m" Then teilnehmer(cnt) = "Herr "
|
|
If Zeile.Cells(7).Value = "w" Then teilnehmer(cnt) = "Frau "
|
|
End If
|
|
teilnehmer(cnt) = teilnehmer(cnt) & Zeile.Cells(3).Value & " "
|
|
teilnehmer(cnt) = teilnehmer(cnt) & Zeile.Cells(4).Value
|
|
cnt += 1
|
|
End If
|
|
Next
|
|
semiCert.teilnehmer = teilnehmer
|
|
|
|
If datBis.Text = datVon.Text Then
|
|
'semiCert.datum = lblBez.Text
|
|
semiCert.datum = "hat am " & datVon.Value.ToShortDateString & " am Seminar"
|
|
Else
|
|
semiCert.datum = "hat vom " & datVon.Value.ToShortDateString & " bis zum " & datBis.Value.ToShortDateString & " am Seminar"
|
|
End If
|
|
|
|
semiCert.titel = txtName.Text
|
|
semiCert.inhalt = rtbInhalt.Text
|
|
semiCert.inhalt2 = rtbInhalt2.Text
|
|
semiCert.referent = txtVortragender.Text
|
|
semiCert.unterzeichnender = lblBez.Text
|
|
If Not cboReportVorlage.SelectedItem Is Nothing Then frmActiveReprotViewer.report = CType(cboReportVorlage.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
|
|
'frmActiveReprotViewer.semiCert = semiCert
|
|
If cbxIntAusbildung.Checked Then
|
|
' semiCert.datum = lblBez.Text
|
|
frmActiveReprotViewer.BefüllenSeminarZertifikatIntern(semiCert)
|
|
Else
|
|
frmActiveReprotViewer.BefüllenSeminarZertifikat(semiCert)
|
|
End If
|
|
frmActiveReprotViewer.Show()
|
|
End Sub
|
|
|
|
Private Sub cbxIntAusbildung_CheckedChanged(sender As Object, e As EventArgs) Handles cbxIntAusbildung.CheckedChanged
|
|
lblBez.Enabled = cbxIntAusbildung.Checked
|
|
datVon.Enabled = Not cbxIntAusbildung.Checked
|
|
datBis.Enabled = Not cbxIntAusbildung.Checked
|
|
datVonTime.Enabled = Not cbxIntAusbildung.Checked
|
|
datBisTime.Enabled = Not cbxIntAusbildung.Checked
|
|
datDauer.Enabled = Not cbxIntAusbildung.Checked
|
|
cboOrt.Enabled = Not cbxIntAusbildung.Checked
|
|
rtbInhalt2.Enabled = Not cbxIntAusbildung.Checked
|
|
If cbxIntAusbildung.Checked Then
|
|
For Each i As VERAG_PROG_ALLGEMEIN.MyListItem In cboReportVorlage.Items
|
|
If i.Value = "rptIntAusb.rpx" Then cboReportVorlage.SelectedItem = i : Exit For
|
|
Next
|
|
Else
|
|
cboReportVorlage.SelectedIndex = 0
|
|
End If
|
|
End Sub
|
|
End Class
|
|
|
|
Public Class semiCert
|
|
Property teilnehmer As Array
|
|
Property datum As String
|
|
Property titel As String
|
|
Property inhalt As String
|
|
Property inhalt2 As String
|
|
Property referent As String
|
|
Property zeitraum As String
|
|
Property unterzeichnender As String
|
|
End Class |