Imports System
Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports System.Text.RegularExpressions
Public Class frmVertragsereignis
#Region "Deklarationen"
Dim Vertragsereignis As New TKB.VV.Vertrag.clsVertragsereignis
Dim sec As New TKB.VV.Utils.MySecurity
Dim msg As New TKB.VV.Utils.MyMessage
Dim FormReadonly As Boolean = False
Dim FormDataChanged As Boolean = False
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
Private Aktuelles_Vertragselement As Integer = 0
Private Aktuelles_Vertragsereignis As Integer = 0
Private Anzeige As Boolean = False
Dim Neuer_Datensatz As Boolean
Dim Plausifehler As Boolean = False
#End Region
#Region "Closing / Check_Changes"
'''
''' Schliessen des Formulars
'''
'''
'''
'''
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
If Me.Vertragsereignis.Neuer_Datensatz = True Then Me.Vertragsereignis.Delete(Me.Vertragsereignis.iEreignisNr.Value)
Globals.MyEventHanlder.Ereignis_Closed()
Me.dispose()
End If
End Sub
'''
''' Prüfung, ob Datenänderungen vorgenommen wurden.
'''
'''
Private Function Check_Changes() As Boolean
If Me.FormReadonly Then Exit Function
Dim msgres As MsgBoxResult
If Me.FormDataChanged Then
msgres = msg.Show_MessageYesNoCancel(3)
Select Case msgres
Case MsgBoxResult.Yes
Save_data()
If Plausifehler = True Then Return False
Return True
Case MsgBoxResult.Cancel
Return False
Case MsgBoxResult.No
Return True
End Select
Else
Return True
End If
End Function
#End Region
#Region "Formular"
'''
''' Standard Constructore New
'''
'''
Sub New()
InitializeComponent()
Me.Aktuelles_Vertragsereignis = -1
End Sub
'''
''' Formualr mit Vertragselementnr und Anzeigestatus öffnen
'''
''' Nr des Vertragspartners
''' True=Readonly, False=normal
'''
Sub New(ByVal Vertragsereignisnr As Integer, Optional ByVal vertragselementnr As Integer = 0, Optional ByVal Anzeige As Boolean = False, Optional ByVal CreateNew As Boolean = False)
MyBase.New()
InitializeComponent()
Me.Anzeige = Anzeige
If CreateNew Then
Me.Aktuelles_Vertragsereignis = Me.Vertragsereignis.Add_New(vertragselementnr)
Me.Neuer_Datensatz = True
Else
Me.Aktuelles_Vertragsereignis = Vertragsereignisnr
End If
End Sub
Public Overloads Sub dispose()
Me.Vertragsereignis.dispose()
sec = Nothing
msg = Nothing
MyBase.Dispose()
End Sub
'''
''' Load-Methode
'''
'''
'''
'''
Private Sub frmVertragsereignis_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Anzeige = True Then
Me.TSBtnSuche.Enabled = False
Me.TSBtnSave.Enabled = False
Else
Me.TSBtnSuche.Enabled = True
End If
If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then
Me.FormReadonly = True
Me.TSBtnCopy.Enabled = False
Me.TSBtnNew.Enabled = False
Me.TSBtnDelete.Enabled = False
Else
Me.FormReadonly = False
End If
Load_Securitylevel()
'Kostenarten laden
Me.cboxKostenart.Items.Clear()
Me.cboxKostenart.DataSource = Me.Vertragsereignis.Kostenarten
Me.cboxKostenart.DisplayMember = "Bezeichnung"
Me.cboxKostenart.ValueMember = "Kostenartnr"
'Periodizitäten laden
Me.cboxPeriodizität.Items.Clear()
Me.cboxPeriodizität.DataSource = Me.Vertragsereignis.Periodizitäten
Me.cboxPeriodizität.DisplayMember = "Bezeichnung"
Me.cboxPeriodizität.ValueMember = "Periodizitaetnr"
Me.cboxEreignistyp.Items.Clear()
Me.cboxEreignistyp.DataSource = Me.Vertragsereignis.Ereignistypen
Me.cboxEreignistyp.DisplayMember = "Bezeichnung"
Me.cboxEreignistyp.ValueMember = "Ereignistypnr"
Me.cboxKuendigungsfrist.DataSource = Me.Vertragsereignis.Kuendigungsfrist
Me.cboxKuendigungsfrist.DisplayMember = "Bezeichnung"
Me.cboxKuendigungsfrist.ValueMember = "Kuendigungsfristnr"
If Me.FormReadonly Then sec.Set_Form_Readonly(Me)
AddChanges(Me)
Get_Data(Me.Aktuelles_Vertragsereignis)
If Me.Neuer_Datensatz = True Then
Me.Vertragsereignis.Neuer_Datensatz = True
Me.Neuer_Datensatz = False
End If
Me.Refresh_History()
Me.cboxEreignistyp_SelectedIndexChanged(sender, e)
Enable_Disable_Datum()
Me.FormDataChanged = False
End Sub
#End Region
#Region "Buttons/Menu"
'''
''' Formular schliessen
'''
'''
'''
'''
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
'''
''' Sicherungs-Button betätigt
'''
'''
'''
'''
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
Me.Save_Data()
Me.txtMutiertam.Text = Me.Vertragsereignis.daMutiert_am.ToString
Me.FormDataChanged = False
End Sub
'''
''' Datensatz kopieren
'''
'''
'''
'''
Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click
If Me.Check_Changes = False Then Exit Sub
Me.Get_Data(Vertragsereignis.Create_Copy(Me.Vertragsereignis.iEreignisNr.Value))
Me.Vertragsereignis.Neuer_Datensatz = True
End Sub
'''
''' Neuer Datensatz erstellen
'''
'''
'''
'''
Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click
If Me.Check_Changes = False Then Exit Sub
Me.Get_Data(Me.Vertragsereignis.Add_New(Me.Aktuelles_Vertragselement))
Me.Vertragsereignis.Neuer_Datensatz = True
End Sub
'''
''' Aktueller Datensatz inaktivieren
'''
'''
'''
'''
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
If msg.Show_MessageYesNo(250) = MsgBoxResult.Yes Then
Me.Vertragsereignis.Delete_Ereignis(Me.Vertragsereignis.iEreignisNr.Value)
Me.Close()
End If
End Sub
'''
''' Menu Beenden
'''
'''
'''
'''
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Me.TSBtnQuit_Click(sender, e)
End Sub
#End Region
#Region "Eventhandler ChangeEreignisse"
'''
''' Allg Eventhandler für Chanage-Ereignise festlegen
'''
'''
'''
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 CheckBox Then
Dim ctl As CheckBox = c
AddHandler ctl.CheckedChanged, evh
End If
Next
End Sub
'''
''' Envent-Handler für Change-Ereignisse
'''
'''
'''
'''
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
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
'''
''' 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
'''
''' Base-Contrlo (z.B. aktuelles Formular
''' Schlüssel welcher gesucht werden soll
''' Liste der gefundenen Objekte
''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde.
'''
'''
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
'''
''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld
'''
'''
'''
'''
Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
dtPickerDatum.ValueChanged, dtPickerStart.ValueChanged, dtPickerEnde.ValueChanged
Dim s As String
Dim obj As DateTimePicker = sender
s = obj.Name
s = "txt" + s.Substring(8, s.Length - 8)
Dim l As New List(Of Control)
Dim txtb As MaskedTextBox
GetControl(Me, s, l)
For Each ctl As Control In l
txtb = CType(ctl, MaskedTextBox)
txtb.Text = obj.Value
Next
End Sub
#End Region
#Region "Daten"
'''
''' Daten ab DB laden uns ins Form befüllen
'''
'''
'''
Private Sub Get_Data(ByVal Vertragsereignisnr As Integer)
Try
Vertragsereignis.Get_Ereignis(Vertragsereignisnr)
Me.Aktuelles_Vertragselement = Me.Vertragsereignis.Vertragselement.iVertragselementnr.Value
Me.Aktuelles_Vertragsereignis = Vertragsereignisnr
Me.txtVertragselement.Text = Me.Vertragsereignis.Vertragselement.sBezeichnung.Value
Me.txtBezeichnung.Text = Me.Vertragsereignis.sBezeichnung.Value
Me.cboxEreignistyp.SelectedValue = Me.Vertragsereignis.iEreignistypNr.Value
Me.txtDatum.Text = Me.Vertragsereignis.daDatum.ToString
Me.txtStart.Text = Me.Vertragsereignis.daStart.ToString
Me.txtEnde.Text = Me.Vertragsereignis.daEnde.ToString
Me.txtVorlaufzeit.Text = Me.Vertragsereignis.iVorlaufzeit.Value
Me.txtBetrag.Text = Me.Vertragsereignis.fBetrag.Value
Check_Betrag()
Me.cboxKostenart.SelectedValue = Me.Vertragsereignis.iKostenartNr.Value
Me.cboxPeriodizität.SelectedValue = Me.Vertragsereignis.iPeriodizitaetNr.Value
Me.txtBemerkung.Text = Me.Vertragsereignis.sBeschreibung.Value
Me.txtErstelltam.Text = Vertragsereignis.daErstellt_am.ToString
Me.txtMutiertam.Text = Vertragsereignis.daMutiert_am.ToString
Me.txtMutierer.Text = Vertragsereignis.iMutierer.ToString
Me.cboxSecurityLevel.SelectedValue = Me.Vertragsereignis.iSecurityLevelNr.Value
Me.cbInklMwSt.Checked = Me.Vertragsereignis.bInklMwSt.Value = True
Me.cbaktiv.Checked = Me.Vertragsereignis.bAktiv.Value = True
Me.cboxKuendigungsfrist.SelectedValue = Me.Vertragsereignis.iKuendigungsfristnr.Value
sec.Set_Form_Security(Me)
Me.FormDataChanged = False
Catch ex As Exception
For Each ctl As ToolStripButton In Me.ToolStrip1.Items
ctl.Enabled = False
Next
Me.TSBtnQuit.Enabled = True
Me.TSBtnSuche.Enabled = True
End Try
Me.FormDataChanged = False
End Sub
'''
''' Daten ab Form speichern
'''
'''
Private Sub Save_data()
Plausifehler = False
If Me.dtPickerDatum.Enabled = True Then
If Trim(Me.txtDatum.Text) = ". ." Then
msg.show_standardmessage(871, MsgBoxStyle.Critical)
Me.txtDatum.Focus()
Me.txtDatum.SelectAll()
Plausifehler = True
End If
Else
If Trim(Me.txtStart.Text) = ". ." Then
msg.show_standardmessage(872, MsgBoxStyle.Critical)
Me.txtStart.Focus()
Me.txtStart.SelectAll()
Plausifehler = True
End If
End If
If Plausifehler Then Exit Sub
Me.Vertragsereignis.iEreignisNr = New SqlInt32(CType(Me.Aktuelles_Vertragsereignis, Int32))
Me.Vertragsereignis.iEreignistypNr = New SqlInt32(CType(Me.cboxEreignistyp.SelectedValue, Int32))
Me.Vertragsereignis.iVertragselementnr = New SqlInt32(CType(Me.Aktuelles_Vertragselement, Int32))
Me.Vertragsereignis.sBezeichnung = New SqlString(CType(Me.txtBezeichnung.Text, String))
If IsDate(Me.txtDatum.Text) Then
Me.Vertragsereignis.daDatum = New SqlDateTime(CType(Me.txtDatum.Text, DateTime))
Else
Me.Vertragsereignis.daDatum = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
End If
If IsDate(Me.txtStart.Text) Then
Me.Vertragsereignis.daStart = New SqlDateTime(CType(Me.txtStart.Text, DateTime))
Else
Me.Vertragsereignis.daStart = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
End If
If IsDate(Me.txtEnde.Text) Then
Me.Vertragsereignis.daEnde = New SqlDateTime(CType(Me.txtEnde.Text, DateTime))
Else
Me.Vertragsereignis.daEnde = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
End If
If Me.txtVorlaufzeit.Text = "" Then
Me.Vertragsereignis.iVorlaufzeit = New SqlInt32(CType(0, Int32))
Else
Me.Vertragsereignis.iVorlaufzeit = New SqlInt32(CType(Me.txtVorlaufzeit.Text, Int32))
End If
If Me.txtBetrag.Text = "" Then
Me.Vertragsereignis.fBetrag = New SqlDouble(CType(0, Double))
Else
Me.Vertragsereignis.fBetrag = New SqlDouble(CType(Me.txtBetrag.Text, Double))
End If
Me.Vertragsereignis.iPeriodizitaetNr = New SqlInt32(CType(Me.cboxPeriodizität.SelectedValue, Int32))
If Me.cboxKostenart.SelectedValue Is Nothing Then
Me.Vertragsereignis.iKostenartNr = New SqlInt32(CType(-1, Int32))
Else
Me.Vertragsereignis.iKostenartNr = New SqlInt32(CType(Me.cboxKostenart.SelectedValue, Int32))
End If
Me.Vertragsereignis.iKuendigungsfristnr = New SqlInt32(CType(Me.cboxKuendigungsfrist.SelectedValue, Int32))
Me.Vertragsereignis.bInklMwSt = New SqlBoolean(CType(Me.cbInklMwSt.Checked = True, Boolean))
Me.Vertragsereignis.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked = True, Boolean))
Me.Vertragsereignis.sBeschreibung = New SqlString(CType(Me.txtBemerkung.Text, String))
Me.Vertragsereignis.iSecurityLevelNr = New SqlInt32(CType(Me.cboxSecurityLevel.SelectedValue, Int32))
Me.Vertragsereignis.Save_Data()
Me.FormDataChanged = False
End Sub
#End Region
#Region "Security"
'''
''' Laden der Securitylevel-Daten in die Combobox
'''
'''
Private Sub Load_Securitylevel()
Dim seclevel As New TKB.VV.DB.clsSecurityLevel
Dim secleveldata As New DataTable
seclevel.cpMainConnectionProvider = Globals.conn
Globals.conn.OpenConnection()
secleveldata = seclevel.SelectAll
Globals.conn.CloseConnection(True)
Me.cboxSecurityLevel.DataSource = secleveldata
Me.cboxSecurityLevel.DisplayMember = "Bezeichnung"
Me.cboxSecurityLevel.ValueMember = "SecurityLevelNr"
seclevel.Dispose()
End Sub
#End Region
'''
''' Validierung Betragsfeld
'''
'''
'''
'''
Private Sub txtBetrag_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtBetrag.Validating
If Not Check_Betrag() Then e.Cancel = True
End Sub
'''
''' Betragswert prüfen
'''
'''
Private Function Check_Betrag() As Boolean
If Trim(Me.txtBetrag.Text) = "" Then
Me.txtBetrag.Text = "0.00"
Return True
End If
If Not IsNumeric(Me.txtBetrag.Text) Then
msg.show_standardmessage(600, MsgBoxStyle.Critical)
Return False
End If
Dim i As Integer
i = Me.txtBetrag.Text.IndexOf(".")
If i = -1 Then
Me.txtBetrag.Text = Me.txtBetrag.Text + ".00"
Exit Function
End If
Dim s = Me.txtBetrag.Text.Substring(i + 1)
If Len(s) = 0 Then
Me.txtBetrag.Text = Me.txtBetrag.Text + "00"
Exit Function
End If
If Len(s) = 1 Then
Me.txtBetrag.Text = Me.txtBetrag.Text + "0"
End If
If Len(s) > 2 Then
msg.show_standardmessage(600, MsgBoxStyle.Critical)
Return False
End If
Return True
End Function
'''
''' Prüfung, ob es sich um einen numerischen Wert handelt
'''
'''
'''
'''
Private Function IsNumeric(ByVal str As String)
Return New Regex("\d+").Match(str).Success
End Function
' Public Function IsNumeric(ByVal str As String) As Boolean
'Dim r As Regex = New Regex("\d+")
'Dim m As Match = r.Match(Str)
' If (m.Success) Then
' Return True
' End If
' Return False
'' End Function
'If Not (IsNumeric(TextBox4.Text)) Then
Private Sub btnVertragselementSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVertragselementSuche.Click
Dim vertragselement As New TKB.VV.Vertrag.clsVertragselement
Dim i As Integer = 0
If vertragselement.Suchen(i) Then
Me.Aktuelles_Vertragselement = i
Me.txtVertragselement.Text = vertragselement.Get_Vertragselementbezeichnung(i)
Me.FormDataChanged = True
End If
vertragselement.dispose()
End Sub
#Region "History"
'''
''' History
'''
'''
Private Sub Refresh_History()
Try
If Check_Changes() = False Then Exit Sub
Catch ex As Exception
End Try
Dim filtertext As String = "none"
Try
filtertext = Me.C1History.Columns("Aktiv").FilterText
Catch ex As Exception
End Try
Dim bm As Integer = 0
bm = Me.C1History.Bookmark
Me.C1History.Enabled = False
Me.Vertragsereignis.Get_History(Me.C1History)
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1History, "History", Me.Vertragsereignis.History.Tabledata)
If filtertext <> "none" Then Me.C1History.Columns("Aktiv").FilterText = filtertext
sec.Set_Form_Security(Me)
Try
Me.C1History.Bookmark = bm
Catch ex As Exception
End Try
Me.C1History.Enabled = True
End Sub
#End Region
Private Sub cboxPeriodizität_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboxPeriodizität.SelectedIndexChanged
Enable_Disable_Datum()
End Sub
Private Sub Enable_Disable_Datum()
Try
If LCase(Me.cboxPeriodizität.Text) = "einmalig" Then
Me.dtPickerStart.Enabled = False
Me.dtPickerEnde.Enabled = False
Me.txtStart.Enabled = False
Me.txtEnde.Enabled = False
Me.txtStart.Text = " . . "
Me.txtEnde.Text = " . . "
Me.dtPickerDatum.Enabled = True
Me.txtDatum.Enabled = True
Else
Me.dtPickerStart.Enabled = True
Me.dtPickerEnde.Enabled = True
Me.txtStart.Enabled = True
Me.txtEnde.Enabled = True
Me.txtDatum.Text = " . . "
Me.dtPickerDatum.Enabled = False
Me.txtDatum.Enabled = False
End If
Catch ex As Exception
End Try
End Sub
Private Sub cboxEreignistyp_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboxEreignistyp.SelectedIndexChanged
Try
If Me.Vertragsereignis.Check_Zahlungsdaten(Me.cboxEreignistyp.SelectedValue) Then
Me.txtBetrag.Enabled = True
Me.cbInklMwSt.Enabled = True
Me.cboxKostenart.Enabled = True
Me.cboxKuendigungsfrist.Enabled = False
Me.txtVorlaufzeit.Text = ""
Me.txtVorlaufzeit.Enabled = False
Else
If Me.Vertragsereignis.Check_Kuendigungsdaten(Me.cboxEreignistyp.SelectedValue) = True Then
Me.cboxKuendigungsfrist.Enabled = True
Me.txtBetrag.Enabled = False
Me.cbInklMwSt.Enabled = False
Me.cboxKostenart.Enabled = False
Me.cboxKostenart.SelectedIndex = -1
Me.cboxKostenart.Text = ""
Me.txtVorlaufzeit.Enabled = True
Else
Me.txtVorlaufzeit.Enabled = True
Me.cboxKuendigungsfrist.Enabled = False
Me.txtBetrag.Enabled = False
Me.cbInklMwSt.Enabled = False
Me.cboxKostenart.Enabled = False
End If
End If
Catch
End Try
End Sub
Private Sub DateTimePicker_leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
dtPickerDatum.Leave, dtPickerStart.Leave, dtPickerEnde.Leave
Dim s As String
Dim obj As DateTimePicker = sender
s = obj.Name
Check_Datum(Me.Vertragsereignis.iEreignisNr.Value, obj.Value, obj.Name)
End Sub
Private Sub txtVertragsbegin_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles _
txtDatum.Leave, txtStart.Leave, txtEnde.Leave
Dim obj As MaskedTextBox = sender
Check_Datum(Me.Vertragsereignis.iEreignisNr.Value, obj.Text, obj.Name)
End Sub
Private Sub Check_Datum(ByVal Vertragsereignisnr As Integer, ByVal Datum As String, ByVal element As String)
Dim dt As New DataTable
If Not IsDate(Datum) Then Datum = "01.01.1900"
dt = Me.Vertragsereignis.Datumscheck(Vertragsereignisnr, Datum, element)
Dim titel As String = "Datumsprüfung Vertragsereignis: " + Me.Vertragsereignis.sBezeichnung.ToString
Try
Dim formopen As Boolean = False
Dim dtpform As frmDatumspruefung
Dim p As Form = Me.ParentForm
For Each windows As Form In p.MdiChildren
If windows.Name = "frmDatumspruefung" Then
formopen = True
dtpform = windows
End If
Next
If formopen = True And dt.Rows.Count > 0 Then
dtpform.C1Pruefresultate.DataSource = dt
dtpform.C1Pruefresultate.DataMember = dt.TableName
dtpform.Text = titel
Me.SpaltenTitel.Spaltentitel_aktualisieren(dtpform.C1Pruefresultate, "Datumspruefung", dt)
dtpform.TopMost = True
dtpform.BringToFront()
dtpform.Show()
Exit Sub
End If
If dt.Rows.Count > 0 Then
Dim f As New frmDatumspruefung
f.C1Pruefresultate.DataSource = dt
f.C1Pruefresultate.DataMember = dt.TableName
f.Text = titel
f.MdiParent = Me.MdiParent
Me.SpaltenTitel.Spaltentitel_aktualisieren(f.C1Pruefresultate, "Datumspruefung", dt)
f.Show()
End If
'dt.Dispose()
Catch ex As Exception
End Try
End Sub
End Class