Imports C1.Win.C1TrueDBGrid Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Namespace TKB.VV.Lifecycle Public Class clsProdukt Inherits TKB.VV.DB.clsLC_Produkt Dim mMutierer As String Property MutiererText() As String Get Return mMutierer End Get Set(ByVal value As String) mMutierer = value End Set End Property Public Function Get_Produkt(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iLC_ProduktNr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.SelectOne() Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) Globals.conn.CloseConnection(True) End Function Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Return Me.iLC_ProduktNr.Value End Function ''' ''' Mutierer auslesen ''' ''' ''' Public Function Get_Mutierer(ByVal nr As Integer) As String Dim ma As New TKB.VV.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 End Function ''' ''' Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_Produkt(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Produkt(Basenr) End If 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.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Löschen eines Datensatzes . ''' ''' ''' ''' Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Produkt(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(Optional ByVal Parentid As Integer = 0) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("LC_Produkt") db.Dispose() Me.iLC_ProduktNr = New SqlInt32(CType(newkey, Int32)) Me.sBezeichnung = New SqlString(CType("*** Neues Element ***", String)) Me.sBeschreibung = New SqlString(CType("", String)) Me.iLC_ProduktNr_Parent = New SqlInt32(CType(0, Int32)) 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.Value, Int32)) Me.iProdukttypNr = New SqlInt32(CType(1, Int32)) Me.sVersion = New SqlString(CType("", String)) Me.iStatusNr = New SqlInt32(CType(1, Int32)) Me.bIstStruktur = New SqlBoolean(CType(0, Boolean)) Me.sAbgeloest_durch = New SqlString(CType("", String)) Me.daNächste_Ueberprüfung = New SqlDateTime(CType("01.01.1900", DateTime)) Me.daEntscheidungstermin = New SqlDateTime(CType("01.01.1900", DateTime)) Me.daAbgeloest_am = New SqlDateTime(CType("01.01.1900", DateTime)) Me.iAbgeliest_durch_wen = New SqlInt32(CType(0, Int32)) Me.sTerminBemerkung = New SqlString(CType("", String)) Me.iAbgeloest_durch_produktnr = New SqlInt32(CType(0, Int32)) Me.cpMainConnectionProvider = Globals.conn Me.iSort = New SqlInt32(CType(0, Int32)) If Parentid <> 0 Then Me.iLC_ProduktNr_Parent = New SqlInt32(CType(Parentid, Int32)) End If Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function Public Function Check_Delete(ByVal produktnr As Integer, ByVal fnkt As Integer) As String Dim Prodlist As New DataTable Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim s As String = "" Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "[sp_lc_check_delete]" selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection selectcommand.Parameters.Add("@lc_produktnr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@fnkt", SqlDbType.Int, 4) selectcommand.Parameters(0).Value = produktnr selectcommand.Parameters(1).Value = fnkt Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(Prodlist) If Prodlist.Rows.Count > 0 Then For Each r As DataRow In Prodlist.Rows If s <> "" Then s = s + vbCrLf s = s + "- " + r("Bezeichnung") Next End If Return s Catch ex As Exception MsgBox(ex.Message) Finally connection.Close() da.Dispose() selectcommand.Dispose() Prodlist.Dispose() End Try End Function Public Function Get_Image_for_Structure(level As Integer) As Boolean Dim lco As New TKB.VV.DB.clsLC_Optionen Try lco.iLc_option_nr = New SqlInt32(CType(1, Int32)) lco.cpMainConnectionProvider = Globals.conn lco.SelectOne() If lco.sBeschreibung.Value >= level + 1 Then Return True Else Return False Catch Return False Finally lco.Dispose() End Try End Function Public Function Get_Image_for_Element() As Boolean Dim lco As New TKB.VV.DB.clsLC_Optionen Try lco.iLc_option_nr = New SqlInt32(CType(2, Int32)) lco.cpMainConnectionProvider = Globals.conn lco.SelectOne() If UCase(lco.sBeschreibung.Value) = "JA" Then Return True Else Return False Catch Return False Finally lco.Dispose() End Try End Function End Class End Namespace