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.
294 lines
12 KiB
294 lines
12 KiB
Imports System.Data.SqlTypes
|
|
Public Class frmLizenzkauf
|
|
|
|
#Region "Deklarationen"
|
|
Dim Lizenztyp As New DataTable
|
|
Dim clsLizenztyp As New TKB.VV.DB.clsLizenztyp
|
|
Dim cLizenzkauf As New TKB.VV.Lizenz.clsLizenzkauf
|
|
Dim Lizenznr As Integer
|
|
Dim key As Integer
|
|
Dim Lizenzveapplnr As Integer
|
|
Dim Formdatachanged As Boolean = False
|
|
Dim FormReadonly As Boolean = False
|
|
Dim msg As New TKB.VV.Utils.MyMessage
|
|
|
|
#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
|
|
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)
|
|
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
|
|
|
|
|
|
''' <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 "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
|
|
cLizenzkauf.Dispose()
|
|
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
|
|
|
|
|
|
|
|
Sub New(ByVal Lizenznr As Integer, ByVal bezeichnung As String, ByVal Lizenzkaufnr As Integer, ByVal lizenzveapplnr As Integer)
|
|
InitializeComponent()
|
|
Me.Lizenznr = Lizenznr
|
|
Me.Text = Me.Text + " - " + bezeichnung
|
|
key = Lizenzkaufnr
|
|
Me.Lizenzveapplnr = lizenzveapplnr
|
|
End Sub
|
|
|
|
Private Sub frmLizenzkauf_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Me.clsLizenztyp.cpMainConnectionProvider = Globals.conn
|
|
Me.Lizenztyp = clsLizenztyp.SelectAll
|
|
Me.cbboxLizenztyp.DataSource = Me.Lizenztyp
|
|
Me.cbboxLizenztyp.DisplayMember = "Bezeichnung"
|
|
Me.cbboxLizenztyp.ValueMember = "Lizenztypnr"
|
|
If key > 0 Then
|
|
Get_Data()
|
|
Else
|
|
Me.cbaktiv.Checked = True
|
|
End If
|
|
AddChanges(Me)
|
|
End Sub
|
|
|
|
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub Get_Data()
|
|
Me.cLizenzkauf.Get_Data(key)
|
|
Me.cbboxLizenztyp.SelectedValue = Me.cLizenzkauf.iLizenztypnr.Value
|
|
Me.txtAnzahl.Text = Me.cLizenzkauf.iAnzahl.Value
|
|
Me.txtKGNummer.Text = Me.cLizenzkauf.sKGNummer.ToString
|
|
Me.txtSAPNummer.Text = Me.cLizenzkauf.sSAPNummer.ToString
|
|
Me.txtBemerkung.Text = Me.cLizenzkauf.sBemerkung.ToString
|
|
Me.txtKaufdatum.Text = Me.cLizenzkauf.daKaufdatum.ToString
|
|
Me.txtGültigbis.Text = Me.cLizenzkauf.daGueltigbis.ToString
|
|
Me.cbaktiv.Checked = Me.cLizenzkauf.bAktiv.Value = True
|
|
End Sub
|
|
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
|
|
save_data()
|
|
Me.Close()
|
|
End Sub
|
|
Private Sub save_data()
|
|
|
|
If key = 0 Then
|
|
key = Me.cLizenzkauf.Add_New(Me.Lizenznr)
|
|
Me.cLizenzkauf.iVertragselementapplikationnr = New SqlInt32(CType(Me.Lizenzveapplnr, Int32))
|
|
Else
|
|
Me.cLizenzkauf.Get_Data(key)
|
|
End If
|
|
Me.cLizenzkauf.iLizenztypnr = New SqlInt32(CType(Me.cbboxLizenztyp.SelectedValue, Int32))
|
|
Me.cLizenzkauf.iLizenznr = New SqlInt32(CType(Me.Lizenznr, Int32))
|
|
If Me.txtAnzahl.Text = "" Then
|
|
|
|
Me.cLizenzkauf.iAnzahl = New SqlInt32(CType(0, Int32))
|
|
Else
|
|
Me.cLizenzkauf.iAnzahl = New SqlInt32(CType(Me.txtAnzahl.Text, Int32))
|
|
End If
|
|
Me.cLizenzkauf.sBemerkung = New SqlString(CType(Me.txtBemerkung.Text, String))
|
|
Me.cLizenzkauf.sKGNummer = New SqlString(CType(Me.txtKGNummer.Text, String))
|
|
Me.cLizenzkauf.sSAPNummer = New SqlString(CType(Me.txtSAPNummer.Text, String))
|
|
If IsDate(Me.txtKaufdatum.Text) Then
|
|
Me.cLizenzkauf.daKaufdatum = New SqlDateTime(CType(Me.txtKaufdatum.Text, DateTime))
|
|
Else
|
|
Me.cLizenzkauf.daKaufdatum = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
End If
|
|
If IsDate(Me.txtGültigbis.Text) Then
|
|
Me.cLizenzkauf.daGueltigbis = New SqlDateTime(CType(Me.txtGültigbis.Text, DateTime))
|
|
Else
|
|
Me.cLizenzkauf.daGueltigbis = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
End If
|
|
Me.cLizenzkauf.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked, Boolean))
|
|
Me.cLizenzkauf.Save_Data()
|
|
|
|
End Sub
|
|
|
|
Private Sub dtPickerKaufdatum_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtPickerKaufdatum.ValueChanged
|
|
Me.txtKaufdatum.Text = Me.dtPickerKaufdatum.Value
|
|
End Sub
|
|
|
|
Private Sub dtPickerGültigbis_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtPickerGültigbis.ValueChanged
|
|
Me.txtGültigbis.Text = Me.dtPickerGültigbis.Value
|
|
End Sub
|
|
|
|
|
|
Private Sub txtAnzahl_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtAnzahl.KeyDown
|
|
|
|
End Sub
|
|
|
|
Private Sub txtAnzahl_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAnzahl.KeyPress
|
|
If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" Then
|
|
e.Handled = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
|
|
save_data()
|
|
End Sub
|
|
|
|
Private Sub txtKaufdatum_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles txtKaufdatum.MaskInputRejected
|
|
End Sub
|
|
|
|
Private Sub txtGültigbis_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles txtGültigbis.MaskInputRejected
|
|
|
|
End Sub
|
|
|
|
Private Sub txtKaufdatum_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtKaufdatum.TextChanged
|
|
If txtKaufdatum.Text = "01.01.1900" Then txtKaufdatum.Text = " . . "
|
|
|
|
End Sub
|
|
|
|
Private Sub txtGültigbis_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtGültigbis.TextChanged
|
|
If txtGültigbis.Text = "01.01.1900" Then txtGültigbis.Text = " . . "
|
|
End Sub
|
|
End Class |