Imports EDOKALib.Common
'''Diese klasse beinhaltet die Logik für die Office Vorlage
Public Class OfficeVorlage
#Region "Members"
Private _officeVorlageNr As Integer
Private _bezeichnung As String
Private _beschreibung As String
Private _vorlageId As Integer
Private _vorlageName As String
Private _prefixDokumentName As String
Private _isIdvVorlage As Boolean
Private _idvId As String
Private _officeVorlage As String
Private _isAbsenderErsteller As Boolean 'nicht implementiert -> property not visible
Private _isIdvNativ As Boolean
Private _isDokumentGeschuetzt As Boolean 'nicht implementiert -> property not visible
Private _isKopfzeileGenerieren As Boolean
Private _klassifizierung As Boolean 'nicht implementiert -> property not visible
Private _barcode As BarcodeTyp
Private _mandantNr As Integer
Private _isAktiv As Boolean
Private _erstelltAm As DateTime
Private _mutiertAm As DateTime
Private _mutiererMitarbeiterNr As Integer
Private _anwendung As Anwendung
Private _ownerMitarbeiterNr As Integer
#End Region
#Region "Constructor"
Public Sub New()
End Sub
'''Neue Instanz für bestehende OfficeVorlage erstellen
'''
Public Sub New(ByVal officeVorlageNr As Integer)
Try
Dim ds As New DataSet()
DataAccess.OfficeVorlage.GetByNr(ds, officeVorlageNr)
LoadData(ds)
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.BF.OfficeVorlage.New", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
End Try
End Sub
#End Region
#Region "Structs"
Public Structure BarcodeTyp
Private _top As Integer
Private _left As Integer
Private _width As Integer
Private _height As Integer
Private _isHorizontal As Boolean
Public Sub New(ByVal top As Integer, ByVal left As Integer, ByVal width As Integer, ByVal height As Integer, ByVal isHorizontal As Boolean)
Try
_top = top
_left = left
_width = width
_height = height
_isHorizontal = isHorizontal
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.BF.OfficeVorlage.Barcode", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
End Try
End Sub
Public ReadOnly Property Top()
Get
Return _top
End Get
End Property
Public ReadOnly Property Left()
Get
Return _left
End Get
End Property
Public ReadOnly Property Height()
Get
Return _height
End Get
End Property
Public ReadOnly Property Width()
Get
Return _width
End Get
End Property
Public ReadOnly Property IsHorizontal()
Get
Return _isHorizontal
End Get
End Property
End Structure
#End Region
#Region "Private Functions"
'''lädt die daten in die klassen member
'''
Private Sub LoadData(ByVal ds As DataSet)
Try
If Not Common.Tools.ValidateDS(ds) Then
Return
End If
_officeVorlageNr = Tools.CToInt32(ds.Tables(0).Rows(0)("offfice_vorlagenr"))
_bezeichnung = NullHandler.CToString(ds.Tables(0).Rows(0)("bezeichnung"))
_beschreibung = NullHandler.CToString(ds.Tables(0).Rows(0)("beschreibung"))
_vorlageId = NullHandler.CToInt32(ds.Tables(0).Rows(0)("vorlageid"))
_vorlageName = NullHandler.CToString(ds.Tables(0).Rows(0)("vorlagename"))
_prefixDokumentName = NullHandler.CToString(ds.Tables(0).Rows(0)("prefix_dokumentname"))
_isIdvVorlage = Tools.CToBool(ds.Tables(0).Rows(0)("idv_vorlage"))
_idvId = NullHandler.CToString(ds.Tables(0).Rows(0)("idv_id"))
_officeVorlage = NullHandler.CToString(ds.Tables(0).Rows(0)("office_vorlage"))
_isAbsenderErsteller = Tools.CToBool(ds.Tables(0).Rows(0)("absender_ersteller"))
_isIdvNativ = Tools.CToBool(ds.Tables(0).Rows(0)("idv_nativ"))
_isDokumentGeschuetzt = Tools.CToBool(ds.Tables(0).Rows(0)("dokument_geschuetzt"))
_isKopfzeileGenerieren = Tools.CToBool(ds.Tables(0).Rows(0)("kopfzeile_generieren"))
_klassifizierung = NullHandler.CToInt32(ds.Tables(0).Rows(0)("klassifizierung"))
_barcode = New BarcodeTyp(Tools.CToInt32(ds.Tables(0).Rows(0)("bcpt")), _
NullHandler.CToInt32(ds.Tables(0).Rows(0)("bcpl")), _
Tools.CToInt32(ds.Tables(0).Rows(0)("bcw")), _
Tools.CToInt32(ds.Tables(0).Rows(0)("bch")), _
NullHandler.CToInt32(ds.Tables(0).Rows(0)("bhorizontal")))
_mandantNr = NullHandler.CToInt32(ds.Tables(0).Rows(0)("mandantnr"))
_isAktiv = Tools.CToBool(ds.Tables(0).Rows(0)("aktiv"))
_erstelltAm = NullHandler.CToDateTime(ds.Tables(0).Rows(0)("erstellt_am"))
_mutiertAm = NullHandler.CToDateTime(ds.Tables(0).Rows(0)("mutiert_am"))
_mutiererMitarbeiterNr = NullHandler.CToInt32(ds.Tables(0).Rows(0)("mutierer"))
_anwendung = New Anwendung(NullHandler.CToInt32(ds.Tables(0).Rows(0)("anwendungnr")))
_ownerMitarbeiterNr = NullHandler.CToInt32(ds.Tables(0).Rows(0)("owner"))
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.BF.OfficeVorlage.ConstructorHelper", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
End Try
End Sub
#End Region
#Region "Public Functions"
Public Function Save(ByVal mutierer As Integer)
Try
Dim err As Integer
Dim key As Integer
If _officeVorlageNr = 0 Then 'create new
err = DataAccess.OfficeVorlage.Add(key, _bezeichnung, _beschreibung, _vorlageId, _vorlageName, _
_prefixDokumentName, _isIdvVorlage, _idvId, _officeVorlage, _isAbsenderErsteller, _isIdvNativ, _
_isDokumentGeschuetzt, _isKopfzeileGenerieren, _klassifizierung, _barcode.Top, _barcode.Left, _
_barcode.Width, _barcode.Height, _barcode.IsHorizontal, _mandantNr, _isAktiv, _erstelltAm, _
_mutiertAm, _mutiererMitarbeiterNr, _anwendung.AnwendungsNr, _ownerMitarbeiterNr)
If err = 0 Then
_officeVorlageNr = key
End If
Else 'save existing
End If
If err <> 0 Then
Throw New DokumentartException(Meldungstext.GetInhaltById(40000))
End If
'refresh data
Dim ds As New DataSet()
DataAccess.OfficeVorlage.GetByNr(ds, OfficeVorlageNr)
LoadData(ds)
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.BF.OfficeVorlage.Save", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
End Try
End Function
Public Function Delete(ByVal mutierer As Integer)
Try
_isAktiv = False
Save(mutierer)
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.BF.OfficeVorlage.Delete", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
End Try
End Function
#End Region
#Region "Properties"
Public Property OfficeVorlageNr() As Integer
Get
Return _officeVorlageNr
End Get
Set(ByVal Value As Integer)
_officeVorlageNr = Value
End Set
End Property
Public Property Bezeichnung() As String
Get
Return _bezeichnung
End Get
Set(ByVal Value As String)
_bezeichnung = Value
End Set
End Property
Public Property Beschreibung() As String
Get
Return _beschreibung
End Get
Set(ByVal Value As String)
_beschreibung = Value
End Set
End Property
Public Property VorlageId() As Integer
Get
Return _vorlageId
End Get
Set(ByVal Value As Integer)
_vorlageId = Value
End Set
End Property
Public Property VorlageName() As String
Get
Return _vorlageName
End Get
Set(ByVal Value As String)
_vorlageName = Value
End Set
End Property
Public Property PrefixDokumentName() As String
Get
Return _prefixDokumentName
End Get
Set(ByVal Value As String)
_prefixDokumentName = Value
End Set
End Property
Public Property IsIdvVorlage() As Boolean
Get
Return _isIdvVorlage
End Get
Set(ByVal Value As Boolean)
_isIdvVorlage = Value
End Set
End Property
Public Property IdvId() As String
Get
Return _idvId
End Get
Set(ByVal Value As String)
_idvId = Value
End Set
End Property
Public Property OfficeVorlage() As String
Get
Return _officeVorlage
End Get
Set(ByVal Value As String)
_officeVorlage = Value
End Set
End Property
Public Property IsIdvNativ() As Boolean
Get
Return _isIdvNativ
End Get
Set(ByVal Value As Boolean)
_isIdvNativ = Value
End Set
End Property
Public Property IsKopfzeileGenerieren() As Boolean
Get
Return _isKopfzeileGenerieren
End Get
Set(ByVal Value As Boolean)
_isKopfzeileGenerieren = Value
End Set
End Property
Public Property BarcodeMember() As BarcodeTyp
Get
Return _barcode
End Get
Set(ByVal Value As BarcodeTyp)
_barcode = 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 Property ErstelltAm() As DateTime
Get
Return _erstelltAm
End Get
Set(ByVal Value As DateTime)
_erstelltAm = Value
End Set
End Property
Public Property MutiertAm() As DateTime
Get
Return _mutiertAm
End Get
Set(ByVal Value As DateTime)
_mutiertAm = Value
End Set
End Property
Public Property MutiererMitarbeiterNr() As Integer
Get
Return _mutiererMitarbeiterNr
End Get
Set(ByVal Value As Integer)
_mutiererMitarbeiterNr = Value
End Set
End Property
Public Property Anwendung() As Anwendung
Get
Return _anwendung
End Get
Set(ByVal Value As Anwendung)
_anwendung = Value
End Set
End Property
Public Property OwnerMitarbeiterNr() As Integer
Get
Return _ownerMitarbeiterNr
End Get
Set(ByVal Value As Integer)
_ownerMitarbeiterNr = Value
End Set
End Property
#End Region
End Class
#Region "OfficeVorlageException"
'''Diese Klasse behandelt eine OfficeVorlage spezifische Ausnahme
Public Class OfficeVorlageException
Inherits Exception
Dim _message As String
Public Sub New(ByVal message As String)
_message = message
End Sub
Public Overrides ReadOnly Property Message() As String
Get
Return _message
End Get
End Property
End Class
#End Region