Imports DigitalData.Modules.Interfaces.ZUGFeRDInterface

Public Class Exceptions
    Public Class ZUGFeRDExecption
        Inherits ApplicationException

        Public ReadOnly Property ErrorType() As ZUGFeRDInterface.ErrorType

        ''' <summary>
        ''' Contains the name of the extracted xml file if already extracted.
        ''' </summary>
        ''' <returns>A filename like zugferd-invoice.xml</returns>
        Public ReadOnly Property XmlFile As String = String.Empty

        Public Sub New(ErrorType As ZUGFeRDInterface.ErrorType, Message As String)
            MyBase.New(Message)

            _ErrorType = ErrorType
        End Sub

        Public Sub New(ErrorType As ZUGFeRDInterface.ErrorType, Message As String, pXmlFileName As String)
            MyBase.New(Message)

            _ErrorType = ErrorType
            _XmlFile = pXmlFileName
        End Sub
    End Class

    Public Class ValidationException
        Inherits ApplicationException

        Public ValidationErrors As List(Of ZugferdValidationError)

        Public Sub New()
            MyBase.New("ZUGFeRD document found but validation failed!")
        End Sub
    End Class
End Class
