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.
185 lines
5.0 KiB
185 lines
5.0 KiB
Imports System.Data
|
|
Imports System.Data.SqlClient
|
|
|
|
'''<summary>Diese klasse beinhaltet die Logik für die Meldungstext</summary>
|
|
Public Class Meldungstext
|
|
|
|
#Region "Members"
|
|
Private Shared _meldungstexte As New Hashtable()
|
|
|
|
Private _meldungsTextNr As Integer
|
|
Private _spracheNr As Integer
|
|
Private _inhalt As String
|
|
Private _beschreibungs As String
|
|
Private _isAktiv As Boolean
|
|
Private _erstelltAm As DateTime
|
|
Private _mutiertAm As DateTime
|
|
Private _mutiertMitarbeiterNr As Integer
|
|
Private _mandantNr As Integer
|
|
|
|
#End Region
|
|
|
|
#Region "Constructor"
|
|
|
|
'''<summary>Erstellt eine neue Instanz für einen bestehenen Meldungstext</summary>
|
|
'''<param name="meldungsTextNr"></param>
|
|
|
|
Public Sub New(ByVal meldungsTextNr As Integer)
|
|
Try
|
|
|
|
Select Case LoadDataFromCache(meldungsTextNr)
|
|
Case 0
|
|
'found in cache
|
|
Case 1
|
|
'caching is disabled
|
|
LoadData(meldungsTextNr) 'from db
|
|
Case 2
|
|
'not found in cache
|
|
LoadData(meldungsTextNr) 'from db
|
|
_meldungstexte.Add(meldungsTextNr, Me) 'hinzufügen da nicht vorhanden
|
|
End Select
|
|
Catch ex As Exception
|
|
Throw ex
|
|
End Try
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "Private methods"
|
|
Private Sub LoadData(ByVal meldungsTextNr As Integer)
|
|
Try
|
|
Dim ds As New DataSet()
|
|
DataAccess.Meldungstext.GetById(meldungsTextNr, ds)
|
|
If Common.Tools.ValidateDS(ds) Then
|
|
_meldungsTextNr = Convert.ToInt32(ds.Tables(0).Rows(0)("meldungstextnr"))
|
|
_spracheNr = Convert.ToInt32(ds.Tables(0).Rows(0)("Sprache"))
|
|
_inhalt = ds.Tables(0).Rows(0)("inhalt")
|
|
_beschreibungs = ds.Tables(0).Rows(0)("beschreibung")
|
|
_isAktiv = Convert.ToBoolean(ds.Tables(0).Rows(0)("aktiv"))
|
|
_erstelltAm = Convert.ToDateTime(ds.Tables(0).Rows(0)("erstellt_am"))
|
|
_mutiertAm = Convert.ToDateTime(ds.Tables(0).Rows(0)("mutiert_am"))
|
|
_mutiertMitarbeiterNr = Convert.ToInt32(ds.Tables(0).Rows(0)("mutierer"))
|
|
_mandantNr = Convert.ToInt32(ds.Tables(0).Rows(0)("mandantnr"))
|
|
End If
|
|
|
|
If _meldungsTextNr = 0 Then 'meldung nicht gefunden in db
|
|
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.BF.Meldungstext.New", "Achtung Meldungstext wurde nicht gefunden! MeldungstextNr: " & CStr(meldungsTextNr), TraceLevel.Warning)
|
|
End If
|
|
Catch ex As Exception
|
|
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.Meldungstext.LoadData", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
|
|
Throw ex
|
|
End Try
|
|
End Sub
|
|
|
|
Private Function LoadDataFromCache(ByVal meldungsTextNr As Integer) As Integer
|
|
Try
|
|
Dim source As Meldungstext
|
|
|
|
If Config.GetParameterValue("CacheMeldungstexte") = 1 Then 'cache is enabled
|
|
source = _meldungstexte.Item(meldungsTextNr)
|
|
If Not source Is Nothing Then
|
|
_meldungsTextNr = source.MeldungsTextNr
|
|
_spracheNr = source.SpracheNr
|
|
_inhalt = source.Inhalt
|
|
_beschreibungs = source.Beschreibung
|
|
_isAktiv = source.IsAktiv
|
|
_erstelltAm = source.ErstelltAm
|
|
_mutiertAm = source.MutiertAm
|
|
_mutiertMitarbeiterNr = source.MutiertMitarbeiterNr
|
|
_mandantNr = source.MandantNr
|
|
Return 0
|
|
Else
|
|
Return 2 'not found
|
|
End If
|
|
End If
|
|
Return 1 'caching is disabled
|
|
Catch ex As Exception
|
|
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.Meldungstext.LoadDataFromCache", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
|
|
Throw ex
|
|
End Try
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
#Region "Public methods"
|
|
|
|
'''<summary>Gibt den Inhalt einer Melungs zurück</summary>
|
|
'''<param name="meldungsTextNr"></param>
|
|
|
|
Public Overloads Shared Function GetInhaltById(ByVal meldungsTextNr As Integer) As String
|
|
Try
|
|
|
|
Dim meldung As New Meldungstext(meldungsTextNr)
|
|
|
|
If meldung.MeldungsTextNr = 0 Then
|
|
Return "Der MeldungsText mit der Id " + meldungsTextNr.ToString() + " wurde nicht gefunden."
|
|
Else
|
|
Return meldung.Inhalt
|
|
End If
|
|
Catch ex As Exception
|
|
Throw ex
|
|
End Try
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
#Region "Properties"
|
|
|
|
Public ReadOnly Property MeldungsTextNr() As Integer
|
|
Get
|
|
Return _meldungsTextNr
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property SpracheNr() As String
|
|
Get
|
|
Return _spracheNr
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property Inhalt() As String
|
|
Get
|
|
Return _inhalt
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property Beschreibung() As String
|
|
Get
|
|
Return _beschreibungs
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property IsAktiv() As Boolean
|
|
Get
|
|
Return _isAktiv
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ErstelltAm() As DateTime
|
|
Get
|
|
Return _erstelltAm
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MutiertAm() As DateTime
|
|
Get
|
|
Return _mutiertAm
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MutiertMitarbeiterNr() As Integer
|
|
Get
|
|
Return _mutiertMitarbeiterNr
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MandantNr() As Integer
|
|
Get
|
|
Return _mandantNr
|
|
End Get
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
End Class
|