Imports System.Data
Imports System.Data.SqlClient
'''Datenzugriff auf Tabelle Mitarbeiter
Public Class Mitarbeiter
#Region "Constructor"
Public Sub New(ByVal mitarbeiterId As Integer)
End Sub
#End Region
#Region "Public methods"
'''Gibt eine Liste mit allen Mitarbeitern zurück
'''Nur Mitarbeiter von diesem Team
'''Nur Mitarbeiter von dieser Funktionsgruppe
'''Das DataSet welches gefüllt werden soll
Overloads Shared Sub GetListe(ByVal teamNr As Integer, ByVal funktionsGruppeNr As Integer, ByRef dsMitarbeiter As DataSet)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Dim da As New SqlDataAdapter()
Try
sqlCmd.CommandText = "sp_ListMitarbeiter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
If teamNr = 0 Then
sqlCmd.Parameters.Add(New SqlParameter("@TeamNr", DBNull.Value))
Else
sqlCmd.Parameters.Add(New SqlParameter("@TeamNr", teamNr))
End If
If funktionsGruppeNr = 0 Then
sqlCmd.Parameters.Add(New SqlParameter("@FunktionsGruppeNr", DBNull.Value))
Else
sqlCmd.Parameters.Add(New SqlParameter("@FunktionsGruppeNr", funktionsGruppeNr))
End If
sqlConn.Open()
da.SelectCommand = sqlCmd
da.Fill(dsMitarbeiter, "MitarbeiterListe")
Catch ex As Exception
Throw ex
Finally
If sqlCmd Is Nothing Then
sqlCmd.Dispose()
End If
If sqlConn Is Nothing Then
sqlConn.Dispose()
End If
If da Is Nothing Then
da.Dispose()
End If
End Try
End Sub
'''Gibt alle Details zur einem Mitarbeiter zurück
'''Die datenbank Nummer des Mitarbeiters (ID)
'''Das zu füllende DataSet
Overloads Shared Sub GetById(ByVal mitarbeiterNr As Integer, ByRef dsMitarbeiter As DataSet)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Dim da As New SqlDataAdapter()
Try
sqlCmd.CommandText = "sp_GetMitarbeiterById"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@MitarbeiterNr", mitarbeiterNr))
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlConn.Open()
da.SelectCommand = sqlCmd
da.Fill(dsMitarbeiter, "Mitarbeiter")
Catch ex As Exception
Throw ex
Finally
If sqlCmd Is Nothing Then
sqlCmd.Dispose()
End If
If sqlConn Is Nothing Then
sqlConn.Dispose()
End If
If da Is Nothing Then
da.Dispose()
End If
End Try
End Sub
'''Gibt alle Details zur einem Mitarbeiter zurück
'''Die NT TG Nummer des Mitarbeiters (NTG, NtAccount)
'''Das zu füllende DataSet
Overloads Shared Sub GetByTgNummer(ByVal tgNummer As String, ByRef dsMitarbeiter As DataSet)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Dim da As New SqlDataAdapter()
Try
sqlCmd.CommandText = "sp_GetMitarbeiterByTgNummer"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@TgNummer", tgNummer))
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlConn.Open()
da.SelectCommand = sqlCmd
da.Fill(dsMitarbeiter, "Mitarbeiter")
Catch ex As Exception
Throw ex
Finally
If sqlCmd Is Nothing Then
sqlCmd.Dispose()
End If
If sqlConn Is Nothing Then
sqlConn.Dispose()
End If
If da Is Nothing Then
da.Dispose()
End If
End Try
End Sub
'''Erstellt ein neues Standard Profil für den angegebenen Mitarbeiter
'''Die datenbank Nummer des Mitarbeiters (ID)
'''Die datenbank Nummer des Mutierers (ID)
Overloads Shared Sub CreateNewStandardProfil(ByVal mitarbeiterNr As Integer, ByVal mutiererMitarbeiterNr As Integer)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Try
sqlCmd.CommandText = "sp_InsMitarbeiterProfil"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@MitarbeiterNr", mitarbeiterNr))
sqlCmd.Parameters.Add(New SqlParameter("@MutiererMitarbeiterNr", mutiererMitarbeiterNr))
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlConn.Open()
sqlCmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
If sqlCmd Is Nothing Then
sqlCmd.Dispose()
End If
If sqlConn Is Nothing Then
sqlConn.Dispose()
End If
End Try
End Sub
'''Gibt alle Details zur einem Mitarbeiter zurück
Overloads Shared Function Insert(ByVal vorname As String, ByVal name As String, ByVal kurzzeichen As String, ByVal anrede As String, _
ByVal tgNummer As String, ByVal eMail As String, ByVal fax As String, ByVal telefon As String, _
ByVal unterschriftText As String, ByVal spracheNr As Integer, ByVal fuerMandant As Integer, _
ByVal showTipp As Boolean, ByVal partnerNr As Integer, ByVal mandantNr As Integer, _
ByVal isAktiv As Boolean, ByVal mailEmpfang As Boolean, ByVal edokaMessage As Boolean, _
ByVal funktion As String, ByVal mailDirektVersenden As Boolean, ByVal rang As String, _
ByVal mailDokumentrueckgang As Boolean, ByVal klassifizierungNr As Integer, _
ByVal edokaMail As Boolean, ByVal journalisierung As Boolean, ByVal getMeldung As Boolean, _
ByVal mail1 As String, ByVal mutiererMitarbeiterNr As Integer) As Integer
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Try
sqlCmd.CommandText = "sp_InsertMitarbeiter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@Vorname", vorname))
sqlCmd.Parameters.Add(New SqlParameter("@Name", name))
sqlCmd.Parameters.Add(New SqlParameter("@KurzZeichen", kurzzeichen))
sqlCmd.Parameters.Add(New SqlParameter("@Anrede", anrede))
sqlCmd.Parameters.Add(New SqlParameter("@TgNummer", tgNummer))
sqlCmd.Parameters.Add(New SqlParameter("@eMail", eMail))
sqlCmd.Parameters.Add(New SqlParameter("@Fax", fax))
sqlCmd.Parameters.Add(New SqlParameter("@Telefon", telefon))
sqlCmd.Parameters.Add(New SqlParameter("@UnterschriftText", unterschriftText))
sqlCmd.Parameters.Add(New SqlParameter("@SpracheNr", spracheNr))
sqlCmd.Parameters.Add(New SqlParameter("@FuerMandantNr", fuerMandant))
sqlCmd.Parameters.Add(New SqlParameter("@ShowTipp", showTipp))
sqlCmd.Parameters.Add(New SqlParameter("@PartnerNr", partnerNr))
sqlCmd.Parameters.Add(New SqlParameter("@MandantNr", mandantNr))
sqlCmd.Parameters.Add(New SqlParameter("@Aktiv", isAktiv))
sqlCmd.Parameters.Add(New SqlParameter("@MutiererMitarbeiterNr", mutiererMitarbeiterNr))
sqlCmd.Parameters.Add(New SqlParameter("@MailEmpfang", mailEmpfang))
sqlCmd.Parameters.Add(New SqlParameter("@EdokaMessage", edokaMessage))
sqlCmd.Parameters.Add(New SqlParameter("@Funktion", funktion))
sqlCmd.Parameters.Add(New SqlParameter("@MailDirektVersenden", mailDirektVersenden))
sqlCmd.Parameters.Add(New SqlParameter("@Rang", rang))
sqlCmd.Parameters.Add(New SqlParameter("@MailDokumentRueckgang", mailDokumentrueckgang))
sqlCmd.Parameters.Add(New SqlParameter("@KlassifizierungNr", klassifizierungNr))
sqlCmd.Parameters.Add(New SqlParameter("@EdokaMail", edokaMail))
sqlCmd.Parameters.Add(New SqlParameter("@Journalisierung", journalisierung))
sqlCmd.Parameters.Add(New SqlParameter("@GebMeldung", getMeldung))
sqlCmd.Parameters.Add(New SqlParameter("@Mail1", mail1))
sqlCmd.Parameters.Add(New SqlParameter("@MitarbeiterNr", -1))
sqlCmd.Parameters("@MitarbeiterNr").Direction = ParameterDirection.InputOutput
sqlCmd.Parameters.Add(New SqlParameter("@Return", SqlDbType.Int))
sqlCmd.Parameters("@Return").Direction = ParameterDirection.ReturnValue
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlConn.Open()
If sqlCmd.ExecuteNonQuery() = 0 Then
Return -1
Else
If Convert.ToInt32(sqlCmd.Parameters("@Return").Value) <> 0 Then
Throw New Exception("DA.Mitarbeiter.Insert(): Return value was " + sqlCmd.Parameters("@Return").Value)
Else
Return Convert.ToInt32(sqlCmd.Parameters("@MitarbeiterNr").Value)
End If
End If
Catch ex As Exception
Throw ex
Finally
If sqlCmd Is Nothing Then
sqlCmd.Dispose()
End If
If sqlConn Is Nothing Then
sqlConn.Dispose()
End If
End Try
End Function
'''Aktualisiert alle Details von einem Mitarbeiter
Overloads Shared Function Update(ByVal mitarbeiterNr As Integer, ByVal vorname As String, ByVal name As String, ByVal kurzzeichen As String, ByVal anrede As String, _
ByVal tgNummer As String, ByVal eMail As String, ByVal fax As String, ByVal telefon As String, _
ByVal unterschriftText As String, ByVal spracheNr As Integer, ByVal fuerMandant As Integer, _
ByVal showTipp As Boolean, ByVal partnerNr As Integer, ByVal mandantNr As Integer, _
ByVal isAktiv As Boolean, ByVal mailEmpfang As Boolean, ByVal edokaMessage As Boolean, _
ByVal funktion As String, ByVal mailDirektVersenden As Boolean, ByVal rang As String, _
ByVal mailDokumentrueckgang As Boolean, ByVal klassifizierungNr As Integer, _
ByVal edokaMail As Boolean, ByVal journalisierung As Boolean, ByVal getMeldung As Boolean, _
ByVal mail1 As String, ByVal mutiererMitarbeiterNr As Integer)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Try
sqlCmd.CommandText = "sp_UpdateMitarbeiter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@MitarbeiterNr", mitarbeiterNr))
sqlCmd.Parameters.Add(New SqlParameter("@Vorname", vorname))
sqlCmd.Parameters.Add(New SqlParameter("@Name", name))
sqlCmd.Parameters.Add(New SqlParameter("@KurzZeichen", kurzzeichen))
sqlCmd.Parameters.Add(New SqlParameter("@Anrede", anrede))
sqlCmd.Parameters.Add(New SqlParameter("@TgNummer", tgNummer))
sqlCmd.Parameters.Add(New SqlParameter("@eMail", eMail))
sqlCmd.Parameters.Add(New SqlParameter("@Fax", fax))
sqlCmd.Parameters.Add(New SqlParameter("@Telefon", telefon))
sqlCmd.Parameters.Add(New SqlParameter("@UnterschriftText", unterschriftText))
sqlCmd.Parameters.Add(New SqlParameter("@SpracheNr", spracheNr))
sqlCmd.Parameters.Add(New SqlParameter("@FuerMandantNr", fuerMandant))
sqlCmd.Parameters.Add(New SqlParameter("@ShowTipp", showTipp))
sqlCmd.Parameters.Add(New SqlParameter("@PartnerNr", partnerNr))
sqlCmd.Parameters.Add(New SqlParameter("@MandantNr", mandantNr))
sqlCmd.Parameters.Add(New SqlParameter("@Aktiv", isAktiv))
sqlCmd.Parameters.Add(New SqlParameter("@MutiererMitarbeiterNr", mutiererMitarbeiterNr))
sqlCmd.Parameters.Add(New SqlParameter("@MailEmpfang", mailEmpfang))
sqlCmd.Parameters.Add(New SqlParameter("@EdokaMessage", edokaMessage))
sqlCmd.Parameters.Add(New SqlParameter("@Funktion", funktion))
sqlCmd.Parameters.Add(New SqlParameter("@MailDirektVersenden", mailDirektVersenden))
sqlCmd.Parameters.Add(New SqlParameter("@Rang", rang))
sqlCmd.Parameters.Add(New SqlParameter("@MailDokumentRueckgang", mailDokumentrueckgang))
sqlCmd.Parameters.Add(New SqlParameter("@KlassifizierungNr", klassifizierungNr))
sqlCmd.Parameters.Add(New SqlParameter("@EdokaMail", edokaMail))
sqlCmd.Parameters.Add(New SqlParameter("@Journalisierung", journalisierung))
sqlCmd.Parameters.Add(New SqlParameter("@GebMeldung", getMeldung))
sqlCmd.Parameters.Add(New SqlParameter("@Mail1", mail1))
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlConn.Open()
sqlCmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
If sqlCmd Is Nothing Then
sqlCmd.Dispose()
End If
If sqlConn Is Nothing Then
sqlConn.Dispose()
End If
End Try
End Function
#End Region
End Class