refactor(Common): Ersetzen Sie Envelope und Receiver durch Domain.Entities

This commit is contained in:
Developer 02 2025-05-22 14:13:08 +02:00
parent 502c607ebd
commit a38c2cd956
15 changed files with 35 additions and 166 deletions

View File

@ -1,4 +1,5 @@
Imports EnvelopeGenerator.Domain
Imports EnvelopeGenerator.Domain.Entities
Public Class EmailData
Public Property EmailAdress As String = ""
Public Property EmailSubject As String = ""

View File

@ -1,84 +0,0 @@
Imports EnvelopeGenerator.Domain
Imports EnvelopeGenerator.Domain.Entities
Public Class Envelope
Public Property Id As Integer = 0
Public Property UserId As Integer
Public Property Title As String = ""
Public Property EnvelopeTypeId As Integer
Public Property ContractType As Integer
Public Property Status As Constants.EnvelopeStatus = Constants.EnvelopeStatus.EnvelopeCreated
Public Property Uuid As String = Guid.NewGuid.ToString()
Public Property UseAccessCode As Boolean = False
Public Property Language As String = "de-DE"
Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.AdvancedElectronicSignature
Public Property TFA_Enabled As Boolean = False
Public Property SendReminderEmails As Boolean = False
Public Property FirstReminderDays As Integer = 0
Public Property ReminderIntervalDays As Integer = 0
Public Property ExpiresWhen As Date
Public Property ExpiresWarningWhen As Date
Public Property ExpiresWhenDays As Integer
Public Property ExpiresWarningWhenDays As Integer
Public Property FinalEmailToCreator As Constants.FinalEmailType
Public Property FinalEmailToReceivers As Constants.FinalEmailType
Public Property Message As String = My.Resources.Envelope.Please_read_and_sign_this_document
Public Property AddedWhen As Date
Public Property ChangedWhen As Date
Public Property User As New User()
Public Property Documents As New List(Of EnvelopeDocument)
Public Property Receivers As New List(Of Receiver)
Public Property History As New List(Of EnvelopeHistoryEntry)
Public Property EnvelopeType As EnvelopeType
Public Property DOC_RESULT As Byte()
Public Property CURRENT_WORK_APP As String = "signFLOW GUI"
Public ReadOnly Property EnvelopeTypeTitle As String
Get
Return EnvelopeType?.Title
End Get
End Property
Public ReadOnly Property IsAlreadySent As Boolean
Get
Return Status > Constants.EnvelopeStatus.EnvelopeSaved
End Get
End Property
Public ReadOnly Property StatusTranslated As String
Get
Dim oStatus = Status.ToString()
Return My.Resources.Model.ResourceManager.GetString(oStatus)
End Get
End Property
Public ReadOnly Property ContractTypeTranslated As String
Get
Dim oContractType = ContractType.ToString()
Return My.Resources.Model.ResourceManager.GetString(oContractType)
End Get
End Property
Public Function ValidateReceiverDocumentData() As List(Of String)
Dim oErrors As New List(Of String)
If Documents.Count = 0 Then
oErrors.Add(My.Resources.Envelope.Missing_Documents)
End If
If Receivers.Count = 0 Then
oErrors.Add(My.Resources.Envelope.Missing_Receivers)
End If
If Receivers.Any(Function(r) r.HasEmailAndName = False) Then
oErrors.Add(My.Resources.Envelope.Incomplete_Receivers)
End If
Return oErrors
End Function
End Class

View File

@ -1,4 +1,6 @@
Public Class EnvelopeReceiver
Imports EnvelopeGenerator.Domain.Entities
Public Class EnvelopeReceiver
Public Property Envelope As Envelope
Public Property Receiver As Receiver
End Class

View File

@ -1,60 +0,0 @@
Imports System.Drawing
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Domain.Constants
Public Class Receiver
Public Property Id As Integer = 0
Public Property Signature As String
Public ReadOnly Property Color As Color
Get
Return Helpers.ColorTypeToColor(ColorType)
End Get
End Property
Public Property ColorType As ColorType
Public Property Name As String
Public Property Company As String = ""
Public Property JobTitle As String = ""
Public Property EmailAddress As String
Public Property Status As ReceiverStatus
Public Property SignedDate As DateTime = DateTime.MinValue
Public ReadOnly Property SignedDateDisplayValue As String
Get
If SignedDate = DateTime.MinValue Then
Return "-"
Else
Return SignedDate.ToString("G")
End If
End Get
End Property
Public ReadOnly Property HasId As Boolean
Get
Return Id > 0
End Get
End Property
Public ReadOnly Property HasEmailAndName As Boolean
Get
Return String.IsNullOrWhiteSpace(EmailAddress) = False And
String.IsNullOrWhiteSpace(Name) = False
End Get
End Property
Public Property Sequence As Integer = 0
Public Property PrivateMessage As String = ""
Public Property AccessCode As String = ""
Public Property PhoneNumber As String = ""
Public Function GetSignature() As String
Return StringEx.GetChecksum(EmailAddress.ToUpper)
End Function
End Class

View File

@ -280,11 +280,9 @@
<Compile Include="Jobs\APIBackendJobs\APIEnvelopeJob.vb" />
<Compile Include="Jobs\FinalizeDocument\PDFBurnerParams.vb" />
<Compile Include="Services\TemplateService.vb" />
<Compile Include="Entities\Envelope.vb" />
<Compile Include="Entities\EnvelopeDocument.vb" />
<Compile Include="Entities\EnvelopeDocumentElement.vb" />
<Compile Include="Entities\EnvelopeHistoryEntry.vb" />
<Compile Include="Entities\Receiver.vb" />
<Compile Include="Entities\EnvelopeReceiver.vb" />
<Compile Include="Entities\EnvelopeType.vb" />
<Compile Include="Entities\State.vb" />

View File

@ -10,6 +10,7 @@ Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument
Imports EnvelopeGenerator.Domain.Constants
Imports DevExpress.DataProcessing
Imports System.Data.SqlClient
Imports EnvelopeGenerator.Domain.Entities
Namespace Jobs
Public Class FinalizeDocumentJob

View File

@ -2,6 +2,7 @@
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
Imports EnvelopeGenerator.Domain.Entities
Public Class ReportCreator
Inherits BaseClass
@ -17,7 +18,7 @@ Public Class ReportCreator
EnvelopeModel = New EnvelopeModel(pState)
End Sub
Public Function CreateReport(pEnvelope As Envelope) As Byte()
Public Function CreateReport(pEnvelope As Domain.Entities.Envelope) As Byte()
Try
Logger.Debug("Loading report data..")
Dim oTable = ReportModel.List(pEnvelope.Id)

View File

@ -1,4 +1,5 @@
Imports EnvelopeGenerator.Domain
Imports EnvelopeGenerator.Domain.Entities
Public Class ReportItem

View File

@ -1,4 +1,5 @@
Imports System.Data.SqlClient
Imports EnvelopeGenerator.Domain.Entities

View File

@ -1,5 +1,6 @@
Imports System.Data.SqlClient
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Domain.Entities
Public Class DocumentModel
Inherits BaseModel

View File

@ -3,6 +3,7 @@ Imports System.Net.Mail
Imports DevExpress.DataProcessing
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Domain.Constants
Imports EnvelopeGenerator.Domain.Entities
Public Class ReceiverModel
Inherits BaseModel

View File

@ -1,9 +1,7 @@
Imports DevExpress.DataAccess.Native.Web
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Domain.Entities
Imports EnvelopeGenerator.Domain.Constants
Imports EnvelopeGenerator.Common.My.Resources
Imports DigitalData.Modules.Database
Imports System.ComponentModel
Public Class ActionService
Inherits BaseService
@ -25,7 +23,7 @@ Public Class ActionService
ReceiverModel = New ReceiverModel(pState)
End Sub
Public Function SendEnvelope(pEnvelope As Envelope) As Boolean
Public Function SendEnvelope(pEnvelope As Domain.Entities.Envelope) As Boolean
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then
Return False
End If
@ -40,13 +38,13 @@ Public Class ActionService
Return True
End Function
Public Function SetStatusDocumentRotationChanged(pEnvelope As Envelope) As Boolean
Public Function SetStatusDocumentRotationChanged(pEnvelope As Domain.Entities.Envelope) As Boolean
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.DocumentMod_Rotation, pEnvelope.User.Email) = False Then
Return False
End If
Return True
End Function
Public Function Resend_Receiver(pEnvelope As Envelope, pmail As String) As Boolean
Public Function Resend_Receiver(pEnvelope As Domain.Entities.Envelope, pmail As String) As Boolean
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then
Return False
End If
@ -56,12 +54,12 @@ Public Class ActionService
Next
Return oSendResult
End Function
Public Function ResendReceiver(pEnvelope As Envelope, pReceiver As Receiver) As Boolean
Public Function ResendReceiver(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver)
End Function
Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean
Public Function DeleteEnvelope(pEnvelope As Domain.Entities.Envelope, pReason As String) As Boolean
Dim oStatus As EnvelopeStatus
If pEnvelope.IsAlreadySent Then
oStatus = EnvelopeStatus.EnvelopeWithdrawn
@ -84,7 +82,7 @@ Public Class ActionService
Return True
End Function
Public Function API_SendWithdrawn_Mails(pEnvelope As Envelope, pReason As String) As Boolean
Public Function API_SendWithdrawn_Mails(pEnvelope As Domain.Entities.Envelope, pReason As String) As Boolean
Dim oSendResult As Boolean = False
For Each oReceiver As Receiver In pEnvelope.Receivers
If EmailService.SendEnvelopeDeletedEmail(pEnvelope, oReceiver, pReason) = False Then
@ -94,7 +92,7 @@ Public Class ActionService
Return True
End Function
Public Function OpenEnvelope(pEnvelope As Envelope, pReceiver As Receiver) As Boolean
Public Function OpenEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
Dim oUserReference = pReceiver.EmailAddress
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.DocumentOpened, oUserReference) = False Then
@ -104,7 +102,7 @@ Public Class ActionService
Return True
End Function
Public Function RequestAccessCode(pEnvelope As Envelope, pReceiver As Receiver) As Boolean
Public Function RequestAccessCode(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
Dim oUserReference = pReceiver.EmailAddress
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.AccessCodeRequested, oUserReference) = False Then
@ -114,7 +112,7 @@ Public Class ActionService
Return True
End Function
Public Function EnterCorrectAccessCode(pEnvelope As Envelope, pReceiver As Receiver) As Boolean
Public Function EnterCorrectAccessCode(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
Dim oUserReference = pReceiver.EmailAddress
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.AccessCodeCorrect, oUserReference) = False Then
@ -124,7 +122,7 @@ Public Class ActionService
Return True
End Function
Public Function EnterIncorrectAccessCode(pEnvelope As Envelope, pReceiver As Receiver) As Boolean
Public Function EnterIncorrectAccessCode(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
Dim oUserReference = pReceiver.EmailAddress
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.AccessCodeIncorrect, oUserReference) = False Then
@ -134,7 +132,7 @@ Public Class ActionService
Return True
End Function
Public Function SignEnvelope(pEnvelope As Envelope, pReceiver As Receiver) As Boolean
Public Function SignEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
Dim oUserReference = pReceiver.EmailAddress
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.DocumentSigned, oUserReference) = False Then
@ -144,7 +142,7 @@ Public Class ActionService
Return EmailService.SendSignedEmail(pEnvelope, pReceiver)
End Function
Public Function FinalizeEnvelope(pEnvelope As Envelope) As Boolean
Public Function FinalizeEnvelope(pEnvelope As Domain.Entities.Envelope) As Boolean
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.EnvelopeArchived, "System") = False Then
Return False
End If
@ -152,7 +150,7 @@ Public Class ActionService
Return True
End Function
Public Function CompleteEnvelope(pEnvelope As Envelope, pReceiver As Receiver) As Boolean ', pAttachment As String
Public Function CompleteEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As Domain.Entities.Receiver) As Boolean ', pAttachment As String
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.MessageCompletionSent, pReceiver.EmailAddress) = False Then
Return False
End If
@ -160,7 +158,7 @@ Public Class ActionService
Return EmailService.SendDocumentCompletedEmailToReceiver(pEnvelope, pReceiver) ', pAttachment
End Function
Public Function CompleteEnvelope(pEnvelope As Envelope) As Boolean ', pAttachment As String
Public Function CompleteEnvelope(pEnvelope As Domain.Entities.Envelope) As Boolean ', pAttachment As String
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.MessageCompletionSent, pEnvelope.User.Email) = False Then
Return False
End If
@ -168,7 +166,7 @@ Public Class ActionService
Return EmailService.SendDocumentCompletedEmailToCreator(pEnvelope) ', pAttachment
End Function
Public Function CreateReport(pEnvelope As Envelope) As Boolean
Public Function CreateReport(pEnvelope As Domain.Entities.Envelope) As Boolean
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.EnvelopeReportCreated, "System") = False Then
Return False
End If

View File

@ -1,4 +1,5 @@
Imports DigitalData.Modules.Logging
Imports EnvelopeGenerator.Domain.Entities
Public Class EmailService
Inherits BaseService

View File

@ -1,5 +1,6 @@
Imports DigitalData.Modules.Logging
Imports EnvelopeGenerator.Domain.Constants
Imports EnvelopeGenerator.Domain.Entities
Public Class HistoryService
Inherits BaseService

View File

@ -127,6 +127,12 @@ namespace EnvelopeGenerator.Domain.Entities
[NotMapped]
public string StatusTranslated => My.Resources.Model.ResourceManager.GetString(Status.ToString());
[NotMapped]
public bool TFA_Enabled { get; set; } = false;
[NotMapped]
public byte[] DOC_RESULT { get; set; }
// TODO: * Check the Form App and remove the default value
public IEnumerable<EnvelopeDocument> Documents { get; set; } = new List<EnvelopeDocument>();