Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports DevComponents Public Class clsVorgabeDefinition Inherits DB.clsVorgabeDefinition #Region "Deklarationen" Public daten As New DataTable Public Neuer_Datensatz As Boolean = False Public Mitarbeiterdaten As New DataTable Dim stammdaten As New DB.clsStammdaten Dim SpaltenTitel As New Utils.Tabellenspalte Dim mMutierer As String Property MutiererText() As String Get Return mMutierer End Get Set(ByVal value As String) mMutierer = value End Set End Property #End Region Sub New() MyBase.New() End Sub Public Overloads Sub dispose() MyBase.Dispose() Try Me.stammdaten = Nothing Catch End Try End Sub ''' ''' Mutierer auslesen ''' ''' ''' Public Function Get_Mutierer(ByVal nr As Integer) As String Try Dim ma As New DB.clsMitarbeiter Dim dt As New DataTable Dim Retvalue As String ma.cpMainConnectionProvider = Globals.conn ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) dt = ma.SelectOne() If dt.Rows.Count = 0 Then Retvalue = ("{" + nr.ToString + "}") Else Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString End If ma.Dispose() dt.Dispose() Return Retvalue Catch Return "" End Try End Function Public Function Get_Data(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iVorgabeDefinitionNr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.daten = Me.SelectOne() Globals.conn.CloseConnection(True) Try Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) Catch ex As Exception Me.MutiererText = "" End Try End Function Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False End Function Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Data(Basenr) End If Dim db As New DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("VorgabeDefinition") db.Dispose() Me.cpMainConnectionProvider = Globals.conn Me.iVorgabeDefinitionNr = New SqlInt32(CType(newkey, Int32)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32)) Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = True Return newkey End Function ''' ''' Löschen eines Datensatzes erstellen. ''' ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen ''' ''' Public Function Delete_Data(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Data(Basenr) End If If bAktiv.Value = False Then Exit Function Me.cpMainConnectionProvider = Globals.conn Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False End Function Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Data(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False End Function ''' ''' Neue Person einfügen ''' ''' ''' Public Function Add_New() As Integer Dim db As New DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("Vorgabe") db.Dispose() Me.iVorgabeDefinitionNr = New SqlInt32(CType(newkey, Int32)) Me.sDefinition = New SqlString(CType("", String)) Me.iVorgabeNr = New SqlInt32(CType(0, Int32)) Me.sBemerkungen = New SqlString(CType("", String)) Me.daGueltig_bis = New SqlDateTime(CType("31.12.2099", DateTime)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32)) Me.cpMainConnectionProvider = Globals.conn Try Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Catch ex As Exception MsgBox(ex.Message) End Try Me.Neuer_Datensatz = True Return Me.iVorgabeDefinitionNr.Value End Function Public Function Get_Eintraege(ByRef c1daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal Key As Integer) Try Dim ds As New DataSet Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) Dim sqlcmd As New SqlCommand sqlcmd.CommandText = "sp_get_VorgabeDefinitionen" sqlcmd.Parameters.Add(New SqlParameter("@key", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Key)) sqlcmd.CommandType = CommandType.StoredProcedure sqlcmd.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = sqlcmd da.Fill(ds, "Datatable1") c1daten.DataSource = Nothing c1daten.DataSource = ds.Tables(0) c1daten.DataMember = ds.Tables(0).TableName SpaltenTitel.Spaltentitel_aktualisieren(c1daten, "VorgabeDefinition", ds.Tables(0)) Catch ex As Exception MsgBox(ex.Message) Finally connection.Close() da.Dispose() sqlcmd.Dispose() End Try Catch ex As Exception MsgBox(ex.Message) End Try End Function End Class