EDMIService: Small fixes and exception handling
This commit is contained in:
26
Service.EDMIService/Helpers/AccessRightResult.vb
Normal file
26
Service.EDMIService/Helpers/AccessRightResult.vb
Normal file
@@ -0,0 +1,26 @@
|
||||
Imports System.Runtime.Serialization
|
||||
Imports DigitalData.Modules.Language
|
||||
Imports DigitalData.Modules.EDMI.API.Rights
|
||||
|
||||
Namespace Messages
|
||||
<DataContract>
|
||||
<Serializable>
|
||||
Public Class AccessRightResult
|
||||
Inherits BaseResult
|
||||
|
||||
<DataMember>
|
||||
Public Property Right As AccessRight = AccessRight.VIEW_ONLY
|
||||
|
||||
Public Sub New(AccessRight As AccessRight)
|
||||
MyBase.New()
|
||||
Right = AccessRight
|
||||
End Sub
|
||||
|
||||
Public Sub New(Exception As Exception)
|
||||
MyBase.New()
|
||||
OK = False
|
||||
ErrorMessage = Exception.Message
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
29
Service.EDMIService/Helpers/BaseResult.vb
Normal file
29
Service.EDMIService/Helpers/BaseResult.vb
Normal file
@@ -0,0 +1,29 @@
|
||||
Imports System.Runtime.Serialization
|
||||
|
||||
Namespace Messages
|
||||
<Serializable>
|
||||
<DataContract>
|
||||
<KnownType(GetType(DBNull))>
|
||||
Public MustInherit Class BaseResult
|
||||
<DataMember>
|
||||
Public Property OK As Boolean
|
||||
<DataMember>
|
||||
Public Property ErrorMessage As String
|
||||
|
||||
Public Sub New()
|
||||
OK = True
|
||||
End Sub
|
||||
|
||||
Public Sub New(Message As String)
|
||||
OK = False
|
||||
ErrorMessage = Message
|
||||
End Sub
|
||||
|
||||
Public Sub New(Exception As Exception)
|
||||
OK = False
|
||||
ErrorMessage = Exception.Message
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
||||
60
Service.EDMIService/Helpers/DatabaseResult.vb
Normal file
60
Service.EDMIService/Helpers/DatabaseResult.vb
Normal file
@@ -0,0 +1,60 @@
|
||||
Imports System.Runtime.Serialization
|
||||
|
||||
Namespace Messages
|
||||
|
||||
<Serializable>
|
||||
<DataContract>
|
||||
<KnownType(GetType(DBNull))>
|
||||
Public Class TableResult
|
||||
Inherits BaseResult
|
||||
|
||||
<DataMember>
|
||||
Public Property Table As DataTable
|
||||
|
||||
Public Sub New(Table As DataTable)
|
||||
MyBase.New()
|
||||
Me.Table = Table
|
||||
End Sub
|
||||
|
||||
Public Sub New(ErrorMessage As String)
|
||||
MyBase.New(ErrorMessage)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
<DataContract>
|
||||
<KnownType(GetType(DBNull))>
|
||||
Public Class ScalarResult
|
||||
Inherits BaseResult
|
||||
|
||||
<DataMember>
|
||||
Public Property Scalar As Object
|
||||
|
||||
Public Sub New(Scalar As Object)
|
||||
MyBase.New()
|
||||
Me.Scalar = Scalar
|
||||
End Sub
|
||||
|
||||
Public Sub New(ErrorMessage As String)
|
||||
MyBase.New(ErrorMessage)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
<DataContract>
|
||||
<KnownType(GetType(DBNull))>
|
||||
Public Class NonQueryResult
|
||||
Inherits BaseResult
|
||||
|
||||
Public Sub New()
|
||||
MyBase.New()
|
||||
End Sub
|
||||
|
||||
Public Sub New(ErrorMessage As String)
|
||||
MyBase.New(ErrorMessage)
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
||||
|
||||
71
Service.EDMIService/Helpers/Exceptions.vb
Normal file
71
Service.EDMIService/Helpers/Exceptions.vb
Normal file
@@ -0,0 +1,71 @@
|
||||
Imports System.Runtime.Serialization
|
||||
Imports System.ServiceModel
|
||||
|
||||
Namespace Exceptions
|
||||
|
||||
|
||||
Public Class UnexpectedErrorException(Of UnexpectedErrorFault)
|
||||
Inherits FaultException
|
||||
|
||||
Public Sub New()
|
||||
MyBase.New()
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<DataContract>
|
||||
Public Class BaseFault
|
||||
''' <summary>
|
||||
''' The human readable error message
|
||||
''' </summary>
|
||||
<DataMember>
|
||||
Public Property ErrorMessage As String
|
||||
|
||||
<DataMember>
|
||||
Public Property InnerException As Exception
|
||||
|
||||
<DataMember>
|
||||
Public Property IsRecoverable As Boolean = True
|
||||
End Class
|
||||
|
||||
<DataContract>
|
||||
Public Class UnexpectedErrorFault
|
||||
Inherits BaseFault
|
||||
|
||||
Public Sub New(Exception As Exception)
|
||||
MyBase.New()
|
||||
ErrorMessage = "Unexpected Error"
|
||||
IsRecoverable = True
|
||||
InnerException = Exception
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
<DataContract>
|
||||
Public Class DataTableDoesNotExistFault
|
||||
Inherits BaseFault
|
||||
|
||||
Public Sub New(Name As String)
|
||||
MyBase.New()
|
||||
ErrorMessage = $"Datatable {Name} does not exist"
|
||||
IsRecoverable = True
|
||||
InnerException = Nothing
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
<DataContract>
|
||||
Public Class ObjectDoesNotExistFault
|
||||
Inherits BaseFault
|
||||
|
||||
Public Sub New(ObjectId As Long)
|
||||
MyBase.New()
|
||||
ErrorMessage = $"Object with Id {ObjectId} does not exist"
|
||||
IsRecoverable = True
|
||||
InnerException = Nothing
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
79
Service.EDMIService/Helpers/Messages.vb
Normal file
79
Service.EDMIService/Helpers/Messages.vb
Normal file
@@ -0,0 +1,79 @@
|
||||
Imports System.IO
|
||||
Imports System.Runtime.Serialization
|
||||
Imports System.ServiceModel
|
||||
Imports DigitalData.Modules.EDMI.API.Rights
|
||||
|
||||
Namespace Messages
|
||||
|
||||
#Region "DocumentImport"
|
||||
<MessageContract>
|
||||
Public Class DocumentImportRequest
|
||||
<MessageBodyMember>
|
||||
Public Contents() As Byte
|
||||
<MessageBodyMember>
|
||||
Public ObjectStoreId As Long
|
||||
<MessageBodyMember>
|
||||
Public FileName As String
|
||||
<MessageBodyMember>
|
||||
Public DocumentType As String
|
||||
<MessageBodyMember>
|
||||
Public RetentionDays As Long = 0
|
||||
End Class
|
||||
|
||||
<MessageContract>
|
||||
Public Class DocumentImportResponse
|
||||
<MessageBodyMember>
|
||||
Public ObjectId As Long
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
#Region "DocumentStream"
|
||||
<MessageContract>
|
||||
Public Class DocumentStreamRequest
|
||||
<MessageBodyMember>
|
||||
Public ObjectId As Long
|
||||
End Class
|
||||
|
||||
<MessageContract>
|
||||
Public Class DocumentStreamResponse
|
||||
<MessageHeader(MustUnderstand:=True)>
|
||||
Public FileName As String
|
||||
|
||||
<MessageBodyMember(Order:=1)>
|
||||
Public FileContents As Stream
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
#Region "DocumentInfo"
|
||||
<MessageContract>
|
||||
Public Class DocumentInfoRequest
|
||||
<MessageBodyMember>
|
||||
Public ObjectId As Long
|
||||
|
||||
<MessageBodyMember>
|
||||
Public UserId As Long
|
||||
End Class
|
||||
|
||||
<MessageContract>
|
||||
Public Class DocumentInfoResponse
|
||||
<MessageBodyMember>
|
||||
Public FullPath As String
|
||||
|
||||
<MessageBodyMember>
|
||||
Public FileRight As AccessRight
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
#Region "DocumentList"
|
||||
<MessageContract>
|
||||
<KnownType(GetType(DBNull))>
|
||||
Public Class DocumentListResponse
|
||||
<MessageBodyMember>
|
||||
Public Datatable As DataTable
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
End Namespace
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user