Imports System.Data.SqlClient Imports System.Data.SqlTypes Namespace db Public Class Personal Inherits db.clsPersonal #Region "Deklarationen" Public daten As New DataTable Public Neuer_Datensatz As Boolean = False Public Mitarbeiterdaten As New 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() End Sub Public Overloads Sub dispose() MyBase.Dispose() Try Catch End Try End Sub ''' ''' Mutierer auslesen ''' ''' ''' Public Function Get_Mutierer(ByVal nr As Integer) As String 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 End Function Public Function Get_Data(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iPersonalnr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.daten = Me.SelectOne() Globals.conn.CloseConnection(True) Try Catch ex As Exception End Try Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) End Function Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, 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("Personal") db.Dispose() Me.cpMainConnectionProvider = Globals.conn Me.iPersonalnr = 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.Mitarbeiternr, 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.Mitarbeiternr, 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("Personal") db.Dispose() Me.iPersonalnr = New SqlInt32(CType(newkey, Int32)) Me.sBeschreibung = New SqlString(CType("", String)) Me.sBezeichnung = New SqlString(CType("", String)) Me.iSequenz = New SqlInt32(CType(1, 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.Mitarbeiternr, Int32)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = True Return newkey End Function Public Function Get_Keyvalue() As Integer Return Me.iPersonalnr.Value End Function Public Function get_mitarbeiter_by_tgnummer(ByVal tgnummer As String) As Boolean Dim Mitarbeiter As String Dim sqlcmd As New SqlCommand Dim connection As New SqlConnection() connection.ConnectionString = Globals.sConnectionString sqlcmd.CommandText = "dbo.sp_get_personal_by_tgnummer" sqlcmd.CommandType = CommandType.StoredProcedure sqlcmd.Parameters.Clear() sqlcmd.Parameters.Add("@tgnummer", SqlDbType.VarChar) sqlcmd.Parameters.Add("@resultat", SqlDbType.VarChar) sqlcmd.Parameters(0).Value = tgnummer sqlcmd.Parameters(1).Value = "" sqlcmd.Parameters(1).Direction = ParameterDirection.Output sqlcmd.Parameters(1).Size = 1024 sqlcmd.Connection = connection connection.Open() Try sqlcmd.ExecuteNonQuery() Get_Data(sqlcmd.Parameters(1).Value) Return True Catch ex As Exception Return False Finally connection.Close() End Try End Function Public Function get_funktionsbeziehungen(ByVal Personalnr As Integer) As DataTable Dim da As New DataTable Dim sqlcmd As New SqlCommand Dim connection As New SqlConnection() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(sqlcmd) connection.ConnectionString = Globals.sConnectionString sqlcmd.CommandText = "dbo.sp_get_personal_funktionstelle" sqlcmd.CommandType = CommandType.StoredProcedure sqlcmd.Parameters.Clear() sqlcmd.Parameters.Add("@personalnr", SqlDbType.VarChar) sqlcmd.Parameters(0).Value = Personalnr sqlcmd.Connection = connection connection.Open() Try sdaAdapter.Fill(da) Return da Catch ex As Exception Finally connection.Close() End Try End Function Public Function Get_aktives_Personal() As DataTable Dim fs As New db.clsPersonal fs.cpMainConnectionProvider = Globals.conn Dim dt As New DataTable dt = fs.SelectAll Dim dn As New DataTable dn.Columns.Add("Nr") dn.Columns.Add("Name") dn.Columns.Add("Userid") For Each r As DataRow In dt.Rows If r("aktiv") = True And r("Name") <> "" Then Dim dnr As DataRow = dn.NewRow dnr.Item(0) = r("PersonalNr") dnr.Item(1) = r("Name") dnr.Item(2) = r("TGNUmmer") dn.Rows.Add(dnr) End If Next Return dn End Function End Class End Namespace