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.
AssesmentMgmt/.svn/pristine/15/15e1607afd4f9195af1a789b009...

193 lines
7.0 KiB

Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports DevComponents
Public Class clsHistory
Inherits DB.clsPruefSchrittHistory
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
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.iPruefschrittNr = 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
''' <summary>
''' Löschen eines Datensatzes erstellen.
''' </summary>
''' <param name="Basenr">Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen</param>
''' <returns></returns>
''' <remarks></remarks>
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
''' <summary>
''' Neue Person einfügen
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Function Add_New() As Integer
Dim db As New DB.clsMyKey_Tabelle
db.cpMainConnectionProvider = Globals.conn
Dim newkey = db.get_dbkey("PruefschrittHistory")
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.sBeschreibung = New SqlString(CType("", String))
Me.daEintragdatum = New SqlDateTime(CType(Now, DateTime))
Me.iPruefSchrittHistoryNr = New SqlInt32(CType(newkey, 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.iPruefSchrittHistoryNr.Value
End Function
Public Function Insert_History(pruefschrittnr As Integer, type As Integer, String1 As String, String2 As String)
Dim i As Integer = Me.Add_New()
Me.iPruefschrittNr = New SqlInt32(CType(pruefschrittnr, Int32))
Select Case type
Case 0
'String1 = individuelle Beschreibung für den HistoryEintrag
Me.sBeschreibung = New SqlString(CType(String1, String))
Case 1
'String1 = Mitarbeiternr Absender
'String2 = Mitarbeiternr Empfänger
Dim ma As New clsMitarbeiter
String1 = ma.Get_Mitarbeitername(String1)
String2 = ma.Get_Mitarbeitername(String2)
ma.dispose()
Me.sBeschreibung = New SqlString(CType("Assessment zugeteilt von " + String1 + " zu " + String2, String))
Case 2
Dim ma As New clsMitarbeiter
String1 = ma.Get_Mitarbeitername(String1)
Me.sBeschreibung = New SqlString(CType("Assessment abgeschlossen von " + String1, String))
End Select
Me.Save_Data()
End Function
Public Function Get_Eintraege(ByRef c1daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal Pruefschrittnr 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_pruefschritthistory"
sqlcmd.Parameters.Add(New SqlParameter("@key", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Pruefschrittnr))
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, "Pruefschritthistory", 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