Imports System.Data
Imports System.Data.SqlClient
Imports EDOKALib.Common
'''Diese klasse beinhaltet die Logik für die Team-Mitarbeiter Zuordnung
Public Class TeamMitarbeiter
#Region "Members"
Private _teamMitarbeiterNr As Integer = -1
Private _team As BusinessFacade.Team
Private _mitarbeiterNr As Integer
Private _anteil As Integer
Private _mandantNr As Integer
Private _isAktiv As Boolean
Private _erstelltAm As DateTime
Private _mutiertAm As DateTime
Private _mutiererMitarbeiter As BusinessFacade.Mitarbeiter
#End Region
#Region "Constructor"
Public Sub New()
End Sub
Public Sub New(ByVal teamMitarbeiterNr As Integer)
Try
Dim ds As New DataSet()
DataAccess.TeamMitarbeiter.GetById(teamMitarbeiterNr, ds)
If ds.Tables.Count > 0 Then
If ds.Tables(0).Rows.Count > 0 Then
_teamMitarbeiterNr = teamMitarbeiterNr
_team = New BusinessFacade.Team(Tools.CToInt32(ds.Tables(0).Rows(0)("teamNr")))
_mitarbeiterNr = Tools.CToInt32(ds.Tables(0).Rows(0)("mitarbeiternr"))
_anteil = Tools.CToInt32(ds.Tables(0).Rows(0)("anteil"))
_mandantNr = Tools.CToInt32(ds.Tables(0).Rows(0)("mandantnr"))
_isAktiv = Common.Tools.CToBool(ds.Tables(0).Rows(0)("aktiv"))
_erstelltAm = Tools.CToDateTime(ds.Tables(0).Rows(0)("erstellt_am"))
_mutiertAm = Tools.CToDateTime(ds.Tables(0).Rows(0)("mutiert_am"))
_mutiererMitarbeiter = New BusinessFacade.Mitarbeiter(Tools.CToInt32(ds.Tables(0).Rows(0)("mutierer")))
End If
End If
Catch ex As Exception
Throw ex
End Try
End Sub
#End Region
#Region "Public methods"
'''Gibt eine Liste mit allen Teams für einen Mitarbeitern zurück
'''Das DataSet welches gefüllt werden soll
Public Overloads Shared Sub GetListe(ByVal mitarbeiterNr As Integer, ByRef ds As DataSet)
Try
DataAccess.TeamMitarbeiter.GetListByMitarbeiterNr(mitarbeiterNr, ds)
Catch ex As Exception
Throw ex
End Try
End Sub
'''Löscht eine Team-Mitarbeiter Zuordnung aus der Datenbank
'''Zu löschende Verbindung
'''Die Id des Benutzers, welcher die Änderungen vornimmt
Public Overloads Shared Function Delete(ByVal teamMitarbeiterNr As Integer, ByVal mutiererMitarbeiterNr As Integer)
Try
DataAccess.TeamMitarbeiter.Delete(teamMitarbeiterNr, mutiererMitarbeiterNr)
Catch ex As Exception
Throw ex
End Try
End Function
'''Speichert die Daten der aktuellen Instanz in die Datenbank
'''Die Id des Benutzers, welcher die Änderungen vornimmt
Public Function Save(ByVal mutiererMitarbeiterNr As Integer)
Try
If _teamMitarbeiterNr < 0 Then
'neuer eintrag
DataAccess.TeamMitarbeiter.Insert(_team.TeamNr, _mitarbeiterNr, _anteil, _mandantNr, _isAktiv, mutiererMitarbeiterNr)
Else
'bestehender eintrag
DataAccess.TeamMitarbeiter.Update(_teamMitarbeiterNr, _team.TeamNr, _mitarbeiterNr, _anteil, _mandantNr, _isAktiv, mutiererMitarbeiterNr)
End If
Catch ex As Exception
Throw ex
End Try
End Function
#End Region
#Region "Properties"
Public ReadOnly Property TeamMitarbeiterNr() As Integer
Get
Return _teamMitarbeiterNr
End Get
End Property
Public Property Team() As BusinessFacade.Team
Get
Return _team
End Get
Set(ByVal Value As BusinessFacade.Team)
_team = Value
End Set
End Property
Public Property MitarbeiterNr() As Integer
Get
Return _mitarbeiterNr
End Get
Set(ByVal Value As Integer)
_mitarbeiterNr = Value
End Set
End Property
Public Property Anteil() As Integer
Get
Return _anteil
End Get
Set(ByVal Value As Integer)
_anteil = Value
End Set
End Property
Public Property MandantNr() As Integer
Get
Return _mandantNr
End Get
Set(ByVal Value As Integer)
_mandantNr = Value
End Set
End Property
Public Property IsAktiv() As Boolean
Get
Return _isAktiv
End Get
Set(ByVal Value As Boolean)
_isAktiv = Value
End Set
End Property
Public ReadOnly Property ErstelltAm() As DateTime
Get
Return _erstelltAm
End Get
End Property
Public Property MutiertAm() As DateTime
Get
Return _mutiertAm
End Get
Set(ByVal Value As DateTime)
_mutiertAm = Value
End Set
End Property
Public ReadOnly Property MutiererMitarbeiter() As BusinessFacade.Mitarbeiter
Get
Return _mutiererMitarbeiter
End Get
End Property
#End Region
End Class