You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AssesmentMgmt/.svn/pristine/e4/e4e4c00e7b9d07bb452f640dae4...

716 lines
28 KiB

Imports C1.Win.C1TrueDBGrid
Public Class PruefschrittDetailsBearbeitung
#Region "Deklarationen"
Dim Pruefresultatnr As Integer
Dim OnRefresh_Findings As Boolean = False
Dim m_pruefschrittnr As Integer
Property Pruefschrittnr As Integer
Get
Return m_pruefschrittnr
End Get
Set(value As Integer)
m_pruefschrittnr = value
Me.Pruefresultatnr = value
End Set
End Property
Dim m_handler As Integer
Property Handler As Integer
Get
Return m_handler
End Get
Set(value As Integer)
m_handler = value
End Set
End Property
Dim m_readonly As Boolean
Property IsReadonly As Boolean
Get
Return m_readonly
End Get
Set(value As Boolean)
m_readonly = value
End Set
End Property
Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder
Dim sec As New Utils.MySecurity
Dim msg As New Utils.MyMessage
Dim FormReadonly As Boolean = False
Dim FormDataChanged As Boolean = False
Dim Pruefschrittresultat As New clsPruefschrittResultat
Dim pruefschrittstatus As New clsStatus
Dim Pruefschritt As New clsPruefschritt
#End Region
#Region "Closing / Check_Changes"
''' <summary>
''' Schliessen des Formulars
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Me.FormReadonly = True Then Exit Sub
If Me.IsReadonly = True Then Exit Sub
evh.pruefschrittResultat_Close(Me.Handler, Me.Pruefschrittnr)
If Check_Changes() = False Then
e.Cancel = True
Else
Me.Dispose()
End If
End Sub
''' <summary>
''' Prüfung, ob Datenänderungen vorgenommen wurden.
''' </summary>
''' <remarks></remarks>
Private Function Check_Changes() As Boolean
If Me.FormReadonly Then
Return True
Exit Function
End If
Dim msgres As MsgBoxResult
If Me.FormDataChanged Then
msgres = msg.Show_MessageYesNoCancel(3)
Select Case msgres
Case MsgBoxResult.Yes
save_data()
Return True
Case MsgBoxResult.Cancel
Return False
Case MsgBoxResult.No
Me.FormDataChanged = False
Return True
End Select
Else
Return True
End If
End Function
#End Region
#Region "Eventhandler ChangeEreignisse"
''' <summary>
''' Allg Eventhandler für Chanage-Ereignise festlegen
''' </summary>
''' <param name="Container"></param>
''' <remarks></remarks>
Private Sub AddChanges(ByVal Container As Control)
Dim l As New List(Of Control)
Me.GetControl(Me, "*", l)
Dim evh As EventHandler = AddressOf ChangesMade
For Each c As Control In l
If TypeOf c Is NumericUpDown Then
Dim ctl As NumericUpDown = c
AddHandler ctl.ValueChanged, evh
End If
If TypeOf c Is TextBox Then
Dim ctl As TextBox = c
AddHandler ctl.TextChanged, evh
End If
If TypeOf c Is MaskedTextBox Then
Dim ctl As MaskedTextBox = c
AddHandler ctl.TextChanged, evh
End If
If TypeOf c Is ComboBox Then
Dim ctl As ComboBox = c
If ctl.Name <> "cbboxResultatText" Then AddHandler ctl.SelectedValueChanged, evh
End If
If TypeOf c Is RichTextBox Then
Dim ctl As RichTextBox = c
AddHandler ctl.TextChanged, evh
End If
If TypeOf c Is CheckBox Then
If c.Name <> "cboxNurAktive" Then
Dim ctl As CheckBox = c
AddHandler ctl.CheckedChanged, evh
End If
End If
If TypeOf c Is CheckedListBox Then
Dim ctl As CheckedListBox = c
AddHandler ctl.ItemCheck, AddressOf ChecketListBoxChange
End If
If TypeOf c Is DateTimePicker Then
Dim ctl As DateTimePicker = c
AddHandler ctl.ValueChanged, evh
End If
Next
End Sub
''' <summary>
''' Envent-Handler für Change-Ereignisse
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
If UCase(sender.name) = "TXTFINDINGBEZEICHNUNG" Or UCase(sender.NAME) = "TXTFINDINGBESCHREIBUNG" Then Exit Sub
If UCase(sender.name) = "TXTMASSNAHMEBEZEICHNUNG" Or UCase(sender.NAME) = "TXTMASSNAHMEBESCHREIBUNG" Or UCase(sender.NAME) = "TXTMASSNAHMERESULTAT" Then Exit Sub
Me.FormDataChanged = True
Dim objtype As System.Type = sender.GetType
If objtype.Name = "MaskedTextBox" Then
Dim o As MaskedTextBox = sender
If o.Text = "01.01.1900" Then o.Text = " . . "
End If
End Sub
Private Sub ChecketListBoxChange(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs)
Me.FormDataChanged = True
End Sub
Private Sub generalhandler()
Me.FormDataChanged = True
End Sub
''' <summary>
''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet
''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung
''' </summary>
''' <param name="BaseControl">Base-Contrlo (z.B. aktuelles Formular</param>
''' <param name="Key">Schlüssel welcher gesucht werden soll</param>
''' <param name="L">Liste der gefundenen Objekte</param>
''' <returns>True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde.
''' </returns>
''' <remarks></remarks>
Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean
If L Is Nothing Then L = New List(Of Control)
Dim Gut As Boolean
Dim ReturnFlag As Boolean = False
If Key IsNot Nothing Then Key = Key.ToLower
If BaseControl.HasChildren = True Then
For Each ctl As Control In BaseControl.Controls
Gut = False
If Key Is Nothing Then
Gut = True
Else
If ctl.Name.Length >= Key.Length Then
Key = Key.ToLower
If Key.StartsWith("*") Then
If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True
ElseIf Key.EndsWith("*") Then
If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True
Else
If Key = ctl.Name.ToLower Then Gut = True
End If
End If
End If
If Gut = True Then
L.Add(ctl)
If ReturnAtFirstElement = True Then ReturnFlag = True
End If
If ReturnFlag = False Then
Call GetControl(ctl, Key, L)
End If
Next
End If
If L.Count - 1 > -1 Then
Return True
Else
Return False
End If
End Function
#End Region
#Region "Fomular"
Private Sub PruefschrittDetailsBearbeitung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Cursor = Cursors.WaitCursor
Application.DoEvents()
Try
Me.Pruefschrittresultat.Get_Data(Pruefresultatnr)
If Me.Pruefschrittresultat.daten.Rows.Count = 0 Then
Me.Pruefschrittresultat.Add_New(Pruefresultatnr)
End If
Pruefschritt.Get_Data(Me.Pruefschrittnr)
Refresh_Details()
Refresh_Finding_Dokumente()
Refresh_Allgemeine_Dokumente
pruefschrittstatus.Get_Mögliche_Status(Pruefschritt.iStatusnr, cbboxStatus)
For Each r As DataRow In Pruefschritt.PruefschrittResultattext.Rows
Me.cbboxResultatText.DataSource = Nothing
Me.cbboxResultatText.DataSource = Me.Pruefschritt.PruefschrittResultattext
Me.cbboxResultatText.DisplayMember = "Bezeichnung"
Me.cbboxResultatText.ValueMember = "PruefschrittTextnr"
Next
AddChanges(Me)
If Me.IsReadonly = True Then
sec.Set_Form_Readonly(Me)
Me.DokumenteFindings.Show_Toolbar = False
Me.DokumenteMassnahmen.Show_Toolbar = False
Me.ToolStripFindings.Enabled = False
Me.ToolStripMassnahmen.Enabled = False
Me.DokumenteAllgemein.Show_Toolbar = False
End If
Dim i As Integer
If Me.txtKurzbeschreibung.Text <> "" Then
For i = 0 To Pruefschritt.PruefschrittResultattext.Rows.Count - 1
If Pruefschritt.PruefschrittResultattext.Rows(i).Item("Bezeichnung") = Me.txtKurzbeschreibung.Text Then Me.cbboxResultatText.SelectedValue = Pruefschritt.PruefschrittResultattext.Rows(i).Item(0)
Next
End If
If Pruefschritt.iAssessmenttyp.Value = 1 Then
Me.GrpTypAnzahl_Massen.Visible = False
End If
If Pruefschritt.iAssessmenttyp.Value = 2 Then
Me.GrpTypAnzahl_Massen.Visible = True
Me.lblFidingsTief.Visible = False
Me.lblFindingsHoch.Visible = False
Me.lblFindingsMittel.Visible = False
Me.txtFindingsHoch.Visible = False
Me.txtFindingsMittel.Visible = False
Me.txtFindingsTief.Visible = False
Me.txtFindingsKein.Visible = False
Me.lblFindingsKein.Visible = False
End If
If Pruefschritt.iAssessmenttyp.Value = 3 Then
Me.GrpTypAnzahl_Massen.Visible = True
Me.lblFidingsTief.Visible = True
Me.lblFindingsHoch.Visible = True
Me.lblFindingsMittel.Visible = True
Me.txtFindingsHoch.Visible = True
Me.txtFindingsMittel.Visible = True
Me.txtFindingsTief.Visible = True
Me.txtFindingsKein.Visible = True
Me.lblFindingsKein.Visible = True
End If
Do_Massnahmen_RowColChange()
If Me.IsReadonly = True Then Me.TSBtnSave.Visible = False
Try
If Me.C1Massnahmen.Splits(0).Rows.Count > 0 Then Me.C1Massnahmen_RowColChange(sender, e)
Catch ex As Exception
End Try
Catch
Finally
Me.Cursor = Cursors.Default
Application.DoEvents()
End Try
End Sub
Private Sub PruefschrittDetailsBearbeitung_Resize(sender As Object, e As EventArgs) Handles Me.Resize
Me.GrpResultate.Width = Me.ClientSize.Width / 3
Me.GrpFindingList.Width = Me.grpFindings.Width / 3 * 2
Me.GrpMassnahmenList.Width = Me.GrpFindingList.Width
End Sub
Private Sub Refresh_Details()
Me.txtKurzbeschreibung.Text = Me.Pruefschrittresultat.sKurzbeschreibung.Value
Me.txtBeschreibung.Text = Me.Pruefschrittresultat.sBeschreibung.Value
Select Case Pruefschritt.iAssessmenttyp.Value
Case 2
Me.txtAnzahlPruefungen.Value = Me.Pruefschrittresultat.iAnzahl_Pruefungen.Value
Case 3
Me.txtAnzahlPruefungen.Value = Me.Pruefschrittresultat.iAnzahl_Pruefungen.Value
Me.txtFindingsTief.Value = Me.Pruefschrittresultat.iFindings_niedrig.Value
Me.txtFindingsMittel.Value = Me.Pruefschrittresultat.iFindings_mittel.Value
Me.txtFindingsHoch.Value = Me.Pruefschrittresultat.iFindings_hoch.Value
Me.txtFindingsKein.Value = Me.Pruefschrittresultat.iFinding_kein.Value
End Select
Refresh_Findings()
Refresh_Massnahmen()
End Sub
#End Region
Sub save_data()
Pruefschritt.Get_Data(Me.Pruefschrittnr)
Me.Pruefschrittresultat.sBeschreibung = New SqlTypes.SqlString(CType(Me.txtBeschreibung.Text, String))
Me.Pruefschrittresultat.sKurzbeschreibung = New SqlTypes.SqlString(CType(Me.txtKurzbeschreibung.Text, String))
Select Case Pruefschritt.iAssessmenttyp.Value
Case 2
Me.Pruefschrittresultat.iAnzahl_Pruefungen = New SqlTypes.SqlInt32(CType(Me.txtAnzahlPruefungen.Value, Int32))
Case 3
Me.Pruefschrittresultat.iAnzahl_Pruefungen = New SqlTypes.SqlInt32(CType(Me.txtAnzahlPruefungen.Value, Int32))
Me.Pruefschrittresultat.iFindings_niedrig = New SqlTypes.SqlInt32(CType(Me.txtFindingsTief.Value, Int32))
Me.Pruefschrittresultat.iFindings_mittel = New SqlTypes.SqlInt32(CType(Me.txtFindingsMittel.Value, Int32))
Me.Pruefschrittresultat.iFindings_hoch = New SqlTypes.SqlInt32(CType(Me.txtFindingsHoch.Value, Int32))
Me.Pruefschrittresultat.iFinding_kein = New SqlTypes.SqlInt32(CType(Me.txtFindingsKein.Value, Int32))
End Select
Me.Pruefschrittresultat.Save_Data()
Pruefschritt.Get_Data(Me.Pruefschrittnr)
If Pruefschritt.bDurchfuehrung_ISI.Value = True And Pruefschritt.Is_IsiMitarbeiter(Globals.clsmitarbeiter.iMitarbeiternr) = True Then
If Pruefschritt.iStatusnr <> 2 Then
If MsgBox("Status auf 'In Bearbeitung' setzen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then
Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(2, Int32))
Pruefschritt.Save_Data()
Me.FormDataChanged = False
evh.PruefplanResultat_Save(Me.Handler, Me.Pruefschrittnr)
Exit Sub
Else
Me.FormDataChanged = False
evh.PruefplanResultat_Save(Me.Handler, Me.Pruefschrittnr)
Exit Sub
End If
End If
End If
If Pruefschritt.iStatusnr.Value <> 2 And Pruefschritt.iStatusnr.Value <> 5 Then
Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(2, Int32))
Pruefschritt.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
End If
Pruefschritt.Save_Data()
Me.FormDataChanged = False
evh.PruefplanResultat_Save(Me.Handler, Me.Pruefschrittnr)
End Sub
#Region "Findings"
Sub Refresh_Findings()
Dim findings As New clsFinding
findings.Get_Eintraege(Me.C1Findings, Me.Pruefresultatnr, Me.ImageListFindings)
Refresh_Finding_Dokumente()
End Sub
Sub Refresh_Finding_Dokumente()
If Me.C1Findings.Splits(0).Rows.Count < 1 Then
Me.DokumenteFindings.Init()
Me.DokumenteFindings.Show_Toolbar = Me.IsReadonly = True
Exit Sub
End If
Try
Me.DokumenteFindings.Show_Toolbar = Me.IsReadonly = False
Me.DokumenteFindings.ConnectionString = Globals.sConnectionString
Me.DokumenteFindings.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value
Me.DokumenteFindings.Init()
Me.DokumenteFindings.Doktype = 5
Me.DokumenteFindings.ThemaNr = Me.C1Findings.Columns("Pruefschrittfindingnr").Value
Me.DokumenteFindings.Refresh_Dokumente()
Me.DokumenteFindings.TempFilePath = Globals.clsapplication.sTmp_filepath.Value
Catch ex As Exception
Me.DokumenteFindings.Init()
Me.DokumenteFindings.Show_Toolbar = False
End Try
End Sub
Sub Refresh_allgemeine_Dokumente()
'If Me.C1Findings.Splits(0).Rows.Count < 1 Then
' Me.DokumenteAllgemein.Init()
' Me.DokumenteAllgemein.Show_Toolbar = Me.IsReadonly = False
' Exit Sub
'End If
Try
Me.DokumenteAllgemein.Show_Toolbar = Me.IsReadonly = False
Me.DokumenteAllgemein.ConnectionString = Globals.sConnectionString
Me.DokumenteAllgemein.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value
Me.DokumenteAllgemein.Init()
Me.DokumenteAllgemein.Doktype = 4
Me.DokumenteAllgemein.ThemaNr = Me.Pruefschrittnr
Me.DokumenteAllgemein.Refresh_Dokumente()
Me.DokumenteAllgemein.TempFilePath = Globals.clsapplication.sTmp_filepath.Value
Catch ex As Exception
Me.DokumenteAllgemein.Init()
Me.DokumenteAllgemein.Show_Toolbar = False
End Try
End Sub
#End Region
#Region "Massnahmen"
Sub Refresh_Massnahmen()
If OnRefresh_Findings Then Exit Sub
Me.ToolStripMassnahmen.Enabled = False
Me.DokumenteMassnahmen.Enabled = False
Me.C1Massnahmen.DataSource = Nothing
If Me.C1Findings.Splits(0).Rows.Count > 0 Then
Try
Dim Massnahmen As New clsPruefschrittMassnahme
Massnahmen.Get_Eintraege(Me.C1Massnahmen, Me.C1Findings.Columns("Pruefschrittfindingnr").Value, Me.ImageListeMassnahmen)
Refresh_Massnahmen_Dokument()
Me.ToolStripMassnahmen.Enabled = True
Catch
End Try
End If
Do_Massnahmen_RowColChange()
End Sub
Sub Refresh_Massnahmen_Dokument()
If OnRefresh_Findings Then Exit Sub
If Me.C1Massnahmen.Splits(0).Rows.Count < 1 Then
Me.DokumenteMassnahmen.Init()
Me.DokumenteMassnahmen.Show_Toolbar = Me.IsReadonly = False
Me.DokumenteMassnahmen.Enabled = False
Exit Sub
End If
Try
Me.DokumenteMassnahmen.Show_Toolbar = Me.IsReadonly = False
Me.DokumenteMassnahmen.ConnectionString = Globals.sConnectionString
Me.DokumenteMassnahmen.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value
Me.DokumenteMassnahmen.Init()
Me.DokumenteMassnahmen.Doktype = 6
Me.DokumenteMassnahmen.ThemaNr = Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value
Me.DokumenteMassnahmen.Refresh_Dokumente()
Me.DokumenteMassnahmen.TempFilePath = Globals.clsapplication.sTmp_filepath.Value
Me.DokumenteMassnahmen.Enabled = True
Catch ex As Exception
Me.DokumenteMassnahmen.Init()
Me.DokumenteMassnahmen.Show_Toolbar = False
End Try
End Sub
#End Region
Private Sub tsbtnNeuesFinding_Click(sender As Object, e As EventArgs) Handles tsbtnNeuesFinding.Click
Dim f As New FrmFinding
f.Key = -1
f.Pruefschrittresultatnr = Me.Pruefresultatnr
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
OnRefresh_Findings = True
Me.Refresh_Findings()
OnRefresh_Findings = False
Refresh_Massnahmen()
End If
End Sub
Private Sub C1Findings_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Findings.RowColChange
Refresh_Finding_Dokumente()
Me.txtFindingBezeichnung.Text = ""
Me.txtFindingBeschreibung.Text = ""
Try
Me.txtFindingBeschreibung.Text = Me.C1Findings.Columns("Beschreibung").Value
Me.txtFindingBezeichnung.Text = Me.C1Findings.Columns("Bezeichnung").Value
Catch
End Try
Refresh_Massnahmen()
End Sub
Private Sub tsbtnFindingBearbeiten_Click(sender As Object, e As EventArgs) Handles tsbtnFindingBearbeiten.Click
Try
Dim f As New FrmFinding
f.Key = Me.C1Findings.Columns("Pruefschrittfindingnr").Value
f.Pruefschrittresultatnr = Me.Pruefresultatnr
f.isreadonly = Me.IsReadonly
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
OnRefresh_Findings = True
Me.Refresh_Findings()
OnRefresh_Findings = False
Refresh_Massnahmen()
End If
Catch ex As Exception
End Try
End Sub
Private Sub tsbtnMassnahmeerfassen_Click(sender As Object, e As EventArgs) Handles tsbtnMassnahmeerfassen.Click
Dim f As New frmMassnahme
f.Key = -1
f.Pruefschrittresultatnr = Me.C1Findings.Columns("Pruefschrittfindingnr").Value
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
Me.Refresh_Massnahmen()
End If
End Sub
Private Sub C1Findings_DoubleClick(sender As Object, e As EventArgs) Handles C1Findings.DoubleClick
Try
tsbtnFindingBearbeiten_Click(sender, e)
Catch
End Try
End Sub
Private Sub C1Massnahmen_DoubleClick(sender As Object, e As EventArgs) Handles C1Massnahmen.DoubleClick
tsbtnMassnahmeEdit_click(sender,e)
End Sub
Private Sub tsbtnMassnahmeEdit_Click(sender As Object, e As EventArgs) Handles tsbtnMassnahmeEdit.Click
Dim f As New frmMassnahme
f.Key = Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value
f.Pruefschrittresultatnr = Me.C1Findings.Columns("Pruefschrittfindingnr").Value
If C1Massnahmen.Columns("Verantwortungnr").Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Then
f.IsReadonly = False
Else
f.IsReadonly = Me.IsReadonly
End If
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
Me.Refresh_Massnahmen()
End If
End Sub
Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click
Me.save_data()
End Sub
Private Sub btnPruefungabgeschlossen_Click(sender As Object, e As EventArgs) Handles btnPruefungabgeschlossen.Click
Me.txtKurzbeschreibung.Text = Me.cbboxResultatText.Text
Me.save_data()
Select Case Me.cbboxResultatText.SelectedValue
Case 0
MsgBox("Bitte wählen Sie ein Prüfresultat aus, welches zur Prüfung passt.", vbInformation)
Exit Sub
Case 1
If Me.C1Findings.Splits(0).Rows.Count > 0 Then
MsgBox("Sie haben Feststellungen erfasst. Somit kann das Resultat der Prüfung nicht '" + Me.cbboxResultatText.Text + "' lauten.", vbExclamation)
Exit Sub
End If
Case 2, 3
If Me.C1Findings.Splits(0).Rows.Count < 1 Then
MsgBox("Sie haben keine Feststellungen erfasst. Somit kann das Resultat der Prüfung nicht '" + Me.cbboxResultatText.Text + "' lauten.", vbExclamation)
Exit Sub
End If
End Select
If MsgBox("Haben Sie die Prüfung abgeschlossen und alle Feststellungen und Massnahmen festgehalten?", vbYesNo + vbQuestion) = vbYes Then
Pruefschritt.Get_Data(Me.Pruefschrittnr)
'Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(6, Int32))
'Pruefschritt.Save_Data()
If Pruefschritt.iVerantwortlichNr.Value = Pruefschritt.iAktueller_Verantwortlicher.Value Then
Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(5, Int32))
Pruefschritt.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Pruefschritt.iVeramtwortungISINr.Value, Int32))
Dim pplan As New DB.clsPruefplan
pplan.cpMainConnectionProvider = Globals.conn
pplan.iPruefplanNr = New SqlTypes.SqlInt32(CType(Pruefschritt.iPruefplanNr.Value, Int32))
pplan.SelectOne()
If pplan.bSelbstkontrolle.Value = True Then
Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(6, Int32))
Pruefschritt.Save_Data()
End If
pplan = Nothing
Else
If Pruefschritt.iStatusnr.Value = 5 Then
Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(6, Int32))
Else
Pruefschritt.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Pruefschritt.iVerantwortlichNr.Value, Int32))
Pruefschritt.iStatusnr = New SqlTypes.SqlInt32(CType(3, Int32))
Pruefschritt.Insert_Message(3, Pruefschritt.iPruefschrittNr.Value, Pruefschritt.iAktueller_Verantwortlicher.Value, 0, "")
End If
End If
Pruefschritt.Save_Data()
Me.Close()
End If
End Sub
Private Sub C1Massnahmen_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Massnahmen.RowColChange
Do_Massnahmen_RowColChange()
End Sub
Sub Do_Massnahmen_RowColChange()
Try
Me.txtMassnahmeBezeichnung.Text = ""
Me.txtMassnahmebeschreibung.Text = ""
Me.txtMassnahmeResultat.Text = ""
Dim pruefschrittmassnahme As New clsPruefschrittMassnahme
pruefschrittmassnahme.Get_Data(Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value)
Me.txtMassnahmeBezeichnung.Text = pruefschrittmassnahme.sKurzbeschreibung.Value
Me.txtMassnahmebeschreibung.Text = pruefschrittmassnahme.sBeschreibung.Value
Me.txtMassnahmeResultat.Text = pruefschrittmassnahme.sMassnahmeResultat.Value
Refresh_Massnahmen_Dokument()
If Me.IsReadonly Then Me.ToolStripMassnahmen.Enabled = False
If C1Massnahmen.Columns("Verantwortungnr").Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Then
If Me.Pruefschritt.iAktueller_Verantwortlicher <> Globals.clsmitarbeiter.iMitarbeiternr.Value Then
Me.ToolStripMassnahmen.Enabled = True
Me.tsbtnMassnahmeerfassen.Enabled = False
Me.tsbtnMassnahmeLoeschen.Enabled = False
Me.tsbtnMassnahmeEdit.Enabled = True
Me.DokumenteMassnahmen.Show_Toolbar = True
End If
Else
Me.DokumenteMassnahmen.Show_Toolbar = False
End If
Catch
End Try
End Sub
Private Sub tsbtnFindingDelete_Click(sender As Object, e As EventArgs) Handles tsbtnFindingDelete.Click
Try
If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then
Dim clsf As New clsFinding
clsf.Delete_Data(Me.C1Findings.Columns("Pruefschrittfindingnr").Value)
clsf.dispose()
Refresh_Findings()
Refresh_Massnahmen()
End If
Catch ex As Exception
End Try
End Sub
Private Sub DokumenteFindings_Load(sender As Object, e As EventArgs) Handles DokumenteFindings.Load
End Sub
Private Sub tsbtnMassnahmeLoeschen_Click(sender As Object, e As EventArgs) Handles tsbtnMassnahmeLoeschen.Click
Try
If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion) = vbYes Then
Dim clsm As New clsPruefschrittMassnahme
clsm.Delete_Data(Me.C1Massnahmen.Columns("Pruefschrittmassnahmenr").Value)
clsm.dispose()
Me.Refresh_Massnahmen()
End If
Catch ex As Exception
MsgBox (ex.Message)
End Try
End Sub
Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
End Sub
Private Sub C1Findings_FilterChange(sender As Object, e As EventArgs) Handles C1Findings.FilterChange
Refresh_Finding_Dokumente()
Refresh_Massnahmen()
End Sub
End Class