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