Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Public Class clsMassnahme
Inherits DB.clsMassnahme
#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
Public Status As DataTable
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()
Status = stammdaten.Get_Stammdaten("pruefschrittstatus", "")
End Sub
Public Overloads Sub dispose()
MyBase.Dispose()
Try
Me.stammdaten = Nothing
Me.Status.Dispose()
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.iMassnahmeNr = 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
'''
''' 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("Massnahme")
db.Dispose()
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.iMassnahmeNr.Value
End Function
Public Function Get_Eintraege(ByRef c1daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal Mitarbeiternr As Integer, ByRef tree As DevComponents.AdvTree.AdvTree)
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_massnahmen"
sqlcmd.Parameters.Add(New SqlParameter("@manr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Mitarbeiternr))
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.Connection = connection
Try
connection.ConnectionString = Globals.sConnectionString
connection.Open()
da.SelectCommand = sqlcmd
da.Fill(ds, "Datatable1")
Dim status As New clsStatus
c1daten.DataSource = Nothing
c1daten.DataSource = ds.Tables(0)
c1daten.DataMember = ds.Tables(0).TableName
SpaltenTitel.Spaltentitel_aktualisieren(c1daten, "Massnahme", ds.Tables(0))
Dim intarray(Me.Status.Rows.Count) As Integer
For i As Integer = 1 To Me.Status.Rows.Count
intarray(i) = 0
Next
For Each r As DataRow In ds.Tables(0).Rows
intarray(r.Item("StatusNr")) = intarray(r.Item("StatusNr")) + 1
Next
For Each n As DevComponents.AdvTree.Node In tree.Nodes
n.Text = n.Text + " (" + intarray(n.Tag).ToString + ")"
Next
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