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.
255 lines
9.9 KiB
255 lines
9.9 KiB
'''<summary> SLAKatalog-Verwaltung</summary>
|
|
|
|
Public Class frmSLAKatalog
|
|
|
|
#Region "Deklarationen"
|
|
Dim Domaintable As TKB.VV.SLA.clsSLAKatalogdaten
|
|
Dim tablename As String
|
|
|
|
Dim Zeiteinheittyp As DataTable
|
|
Dim Zeiteinheittypdata As New TKB.VV.DB.myZeiteinheittyp
|
|
Dim SLA As New TKB.VV.SLA.clsSLA
|
|
Dim SLADaten As New DataTable
|
|
|
|
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
|
|
Dim sec As New TKB.VV.Utils.MySecurity
|
|
|
|
#End Region
|
|
|
|
#Region "Formular-Funktionen"
|
|
''' <summary>
|
|
''' Tabellenname übernehmen und Objekt DomainTable initialisieren
|
|
''' Initialisierung der Komponenten
|
|
''' </summary>
|
|
''' <param name="tblname">Tabellenname der Tabelle, welche über den Domaineditor editiert werden soll</param>
|
|
''' <remarks>Benötigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden
|
|
''' pr_"Tablename"_SelectAll
|
|
''' pr_"Tablename"_Update
|
|
''' </remarks>
|
|
Public Sub New()
|
|
Dim tblname As String = "SLAKatalog"
|
|
Domaintable = New TKB.VV.SLA.clsSLAKatalogdaten(tblname)
|
|
Me.InitializeComponent()
|
|
Me.tablename = tblname
|
|
End Sub
|
|
''' <summary>
|
|
''' Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
'''
|
|
Private Sub frmDomainEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Me.C1Daten.DataSource = Domaintable.Tabledata
|
|
Me.C1Daten.DataMember = Domaintable.Tabledata.Tables(0).TableName
|
|
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Daten, "SLAKatalog", Me.SLADaten)
|
|
|
|
Me.Zeiteinheittypdata.cpMainConnectionProvider = Globals.conn
|
|
Globals.conn.OpenConnection()
|
|
Me.Zeiteinheittyp = Me.Zeiteinheittypdata.SelectAll_aktive
|
|
Globals.conn.CloseConnection(True)
|
|
|
|
Me.SLA.cpMainConnectionProvider = Globals.conn
|
|
Me.SLADaten = SLA.SelectAll_Active
|
|
|
|
|
|
Me.C1DropDownSLA.DataSource = Me.SLADaten
|
|
Me.C1DropDownSLA.ValueMember = "SLANr"
|
|
Me.C1DropDownSLA.DisplayMember = "Sla"
|
|
|
|
Me.C1DropdownZeitheinheittyp.DataSource = Me.Zeiteinheittyp
|
|
Me.C1DropdownZeitheinheittyp.ValueMember = "Zeiteinheittypnr"
|
|
Me.C1DropdownZeitheinheittyp.DisplayMember = "Bezeichnung"
|
|
|
|
Me.C1Daten.Columns("SLANr").DropDown = Me.C1DropDownSLA
|
|
Me.C1Daten.Columns("Zeiteinheittypnr").DropDown = Me.C1DropdownZeitheinheittyp
|
|
|
|
Me.C1Daten.Columns("SLANr").ValueItems.Translate = True
|
|
Me.C1Daten.Columns("Zeiteinheittypnr").ValueItems.Translate = True
|
|
|
|
Me.C1DropDownSLA.ValueTranslate = True
|
|
Me.C1DropdownZeitheinheittyp.ValueTranslate = True
|
|
|
|
Me.C1DropDownSLA.DisplayColumns(0).Width = 0
|
|
Me.C1DropDownSLA.DisplayColumns(1).Width = Me.C1DropDownSLA.Width
|
|
Me.C1DropdownZeitheinheittyp.DisplayColumns(0).Width = 0
|
|
Me.C1DropdownZeitheinheittyp.DisplayColumns(1).Width = Me.C1DropdownZeitheinheittyp.Width
|
|
|
|
sec.Set_Form_Security(Me)
|
|
If Me.TSBtnSave.Visible = False Or Me.TSBtnSave.Enabled = False Then
|
|
Me.C1Daten.AllowAddNew = False
|
|
Me.C1Daten.AllowUpdate = False
|
|
End If
|
|
Dim i As Integer
|
|
For i = 0 To Me.C1Daten.Splits(0).DisplayColumns.Count - 1
|
|
If Me.C1Daten.Columns(i).DataField = "SLANr" Then
|
|
Me.C1Daten.Splits(0).DisplayColumns(i).Style.HorizontalAlignment = C1.Win.C1TrueDBGrid.AlignHorzEnum.Near
|
|
End If
|
|
Next
|
|
|
|
End Sub
|
|
|
|
|
|
''' <summary>
|
|
''' Schliessen des Formulars
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
|
|
Me.Close()
|
|
End Sub
|
|
''' <summary>
|
|
''' Ruft BeendetnToolStipMenuItem_Click auf
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
|
|
BeendenToolStripMenuItem_Click(sender, e)
|
|
End Sub
|
|
''' <summary>
|
|
''' Prüfung auf allfällige Daten-Changes. Wurden Daten verändert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder
|
|
''' das Formular nicht gespeichert werden soll.
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub frmDomainEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
If Me.Domaintable.Tabledata.HasChanges Then
|
|
Dim msg As New TKB.VV.Utils.MyMessage
|
|
Dim msgboxres As MsgBoxResult
|
|
msgboxres = msg.Show_MessageYesNoCancel(3)
|
|
If msgboxres = MsgBoxResult.Cancel Then
|
|
e.Cancel = True
|
|
Exit Sub
|
|
End If
|
|
If msgboxres = MsgBoxResult.Yes Then
|
|
Domaintable.Save_Data()
|
|
End If
|
|
End If
|
|
Domaintable.dispose()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Sichern der Daten
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
|
|
Try
|
|
Domaintable.Save_Data()
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "C1 Handling"
|
|
''' <summary>
|
|
''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz)
|
|
''' wird dieser aus der Keytabelle ausgelesen und zugewiesen.
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks>Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig</remarks>
|
|
Private Sub C1Daten_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Daten.AfterColUpdate
|
|
'Aktualisieren von Mutierer und Mutiert_am
|
|
Dim i As Integer
|
|
Try
|
|
For i = 0 To Me.C1Daten.Columns.Count - 1
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mutiert_am" Then Me.C1Daten.Columns(i).Value = Now
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mutierer" Then Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
Next
|
|
|
|
'neuer DB-Key auslösen, sofern kein Key vorhanden ist
|
|
If Me.C1Daten.Columns(0).Value Is DBNull.Value Then
|
|
Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle()
|
|
Dim key As Long
|
|
dbkey.cpMainConnectionProvider = conn
|
|
key = dbkey.get_dbkey(tablename)
|
|
Me.C1Daten.Columns(0).Value = key
|
|
For i = 0 To Me.C1Daten.Columns.Count - 1
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mandantnr" Then
|
|
Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "erstellt_am" Then
|
|
Me.C1Daten.Columns(i).Value = Now
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "securitylevel" Then
|
|
Me.C1Daten.Columns(i).Value = 0
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "aktiv" Then
|
|
Me.C1Daten.Columns(i).Value = 1
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "extern" Then
|
|
Me.C1Daten.Columns(i).Value = 0
|
|
End If
|
|
Next
|
|
dbkey.Dispose()
|
|
End If
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Aktualisierung der Default-Werte
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Daten_AfterInsert(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Daten.AfterInsert
|
|
Dim i As Integer
|
|
'Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen
|
|
Try
|
|
For i = 0 To C1Daten.Columns.Count - 1
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "aktiv" Then
|
|
Me.C1Daten.Columns(i).Value = 1
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mutiert_am" Then
|
|
Me.C1Daten.Columns(i).Value = Now
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mutierer" Then
|
|
Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mandantnr" Then
|
|
Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value
|
|
End If
|
|
If LCase(Me.C1Daten.Columns(i).DataField) = "mandnat" Then
|
|
Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value
|
|
End If
|
|
Next
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
''' <summary>
|
|
''' Anzeige allfälliger Cellen-Tips
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Daten_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Daten.FetchCellTips
|
|
Dim ts As New TKB.VV.Utils.Tabellenspalte
|
|
ts.Tabelle = Me.tablename
|
|
Try
|
|
ts.Feld = Me.C1Daten.Columns(e.ColIndex).DataField
|
|
ts.getspalte()
|
|
e.CellTip = ts.TipText
|
|
Catch
|
|
End Try
|
|
ts = Nothing
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
End Class
|