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.
242 lines
8.6 KiB
242 lines
8.6 KiB
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
|
|
|
|
''' <summary>
|
|
''' Mutierer auslesen
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
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
|
|
|
|
''' <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.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
|
|
|
|
''' <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("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
|
|
|