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.

381 lines
11 KiB

Imports EDOKALib.Common
'''<summary>Diese klasse beinhaltet die Logik für die Office Vorlage</summary>
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
'''<summary>Neue Instanz für bestehende OfficeVorlage erstellen</summary>
'''<param name="officeVorlageNr"></param>
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"
'''<summary>lädt die daten in die klassen member</summary>
'''<param name="ds"></param>
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"
'''<summary>Diese Klasse behandelt eine OfficeVorlage spezifische Ausnahme</summary>
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