Initial commit
This commit is contained in:
280
SW/AssessmentMgmt/Massnahmen/MassnahmeDetailBearbeitung.vb
Normal file
280
SW/AssessmentMgmt/Massnahmen/MassnahmeDetailBearbeitung.vb
Normal file
@@ -0,0 +1,280 @@
|
||||
Public Class MassnahmeDetailBearbeitung
|
||||
|
||||
|
||||
#Region "Deklarationen"
|
||||
|
||||
|
||||
Dim OnRefresh_Findings As Boolean = False
|
||||
|
||||
Dim m_MassnahmeNr As Integer
|
||||
Property Massnahmenr As Integer
|
||||
Get
|
||||
Return m_MassnahmeNr
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_MassnahmeNr = 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 status As New clsStatus
|
||||
|
||||
Dim massnahme As New clsMassnahme
|
||||
|
||||
#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 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 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
|
||||
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" 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
|
||||
|
||||
Private Sub MassnahmeDetailBearbeitung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Me.massnahme.Get_Data(Me.Massnahmenr)
|
||||
If massnahme.iAktueller_Verantwortlicher.Value <> Globals.clsmitarbeiter.iMitarbeiternr.Value Then Me.IsReadonly = True
|
||||
Refresh_Details()
|
||||
status.Get_Mögliche_Status(massnahme.iStatusNr, cbboxStatus)
|
||||
AddChanges(Me)
|
||||
If Me.IsReadonly = True Then
|
||||
sec.Set_Form_Readonly(Me)
|
||||
Me.DokumenteAllgemein.Show_Toolbar = False
|
||||
End If
|
||||
Me.DokumenteAllgemein.ConnectionString = Globals.sConnectionString
|
||||
Me.DokumenteAllgemein.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
||||
Me.DokumenteAllgemein.Doktype = 8
|
||||
Me.DokumenteAllgemein.ThemaNr = Me.Massnahmenr
|
||||
Me.DokumenteAllgemein.TempFilePath = Globals.clsapplication.sTmp_filepath.Value
|
||||
Me.DokumenteAllgemein.Refresh()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Refresh_Details()
|
||||
Me.txtBeschreibung.Text = Me.massnahme.sMassnahmeResultat.Value
|
||||
Me.DokumenteAllgemein.Refresh_Dokumente()
|
||||
End Sub
|
||||
|
||||
Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click
|
||||
save_data
|
||||
End Sub
|
||||
|
||||
Private Sub Save_Data()
|
||||
Me.massnahme.sMassnahmeResultat = New SqlTypes.SqlString(CType(Me.txtBeschreibung.Text, String))
|
||||
Me.massnahme.Save_Data()
|
||||
massnahme.Get_Data(Me.Massnahmenr)
|
||||
If massnahme.iStatusNr.Value <> 2 Then
|
||||
massnahme.iStatusNr = New SqlTypes.SqlInt32(CType(2, Int32))
|
||||
massnahme.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
||||
massnahme.Save_Data()
|
||||
End If
|
||||
Me.FormDataChanged = False
|
||||
End Sub
|
||||
|
||||
Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub btnPruefungabgeschlossen_Click(sender As Object, e As EventArgs) Handles btnPruefungabgeschlossen.Click
|
||||
If MsgBox("Haben Sie die Prüfung abgeschlossen und das Resultat festgehlaten?", vbYesNo + vbQuestion) = vbYes Then
|
||||
massnahme.Get_Data(Me.Massnahmenr)
|
||||
massnahme.iStatusNr = New SqlTypes.SqlInt32(CType(8, Int32))
|
||||
massnahme.Save_Data()
|
||||
|
||||
If massnahme.iVerantwortlichNr.Value = massnahme.iAktueller_Verantwortlicher.Value Then
|
||||
massnahme.iStatusNr = New SqlTypes.SqlInt32(CType(3, Int32))
|
||||
Else
|
||||
massnahme.iAktueller_Verantwortlicher = New SqlTypes.SqlInt32(CType(massnahme.iVerantwortlichNr.Value, Int32))
|
||||
massnahme.iStatusNr = New SqlTypes.SqlInt32(CType(3, Int32))
|
||||
End If
|
||||
massnahme.Save_Data()
|
||||
Me.Close()
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user