refactor(CommonServices): updated to use ReveiverVM

This commit is contained in:
tekh 2025-08-21 14:13:31 +02:00
parent c7bf800cd5
commit 5bcac264a7
8 changed files with 28 additions and 43 deletions

View File

@ -4,6 +4,7 @@ Imports DigitalData.Modules.Base
Imports Quartz Imports Quartz
Imports System.Security.Cryptography Imports System.Security.Cryptography
Imports DevExpress.DataProcessing Imports DevExpress.DataProcessing
Imports EnvelopeGenerator.Domain.Entities
Namespace Jobs Namespace Jobs
Public Class APIEnvelopeJob Public Class APIEnvelopeJob
@ -83,7 +84,7 @@ Namespace Jobs
oEnvelope.CURRENT_WORK_APP = "signFLOW_API_EnvJob_InvMail" oEnvelope.CURRENT_WORK_APP = "signFLOW_API_EnvJob_InvMail"
Logger.Debug("SendInvMail - Loading Envelope Data..") Logger.Debug("SendInvMail - Loading Envelope Data..")
Dim oEnvelopeData = GetEnvelopeData(oId) Dim oEnvelopeData = GetEnvelopeData(oId)
oEnvelope.Receivers = ReceiverModel.ListEnvelopeReceivers(oEnvelope.Id).ToList() oEnvelope.Receivers = ReceiverModel.ListEnvelopeReceivers(oEnvelope.Id).OfType(Of EnvelopeReceiver).ToList()
Logger.Debug("SendInvMail - Created Reveivers!") Logger.Debug("SendInvMail - Created Reveivers!")
If oEnvelopeData Is Nothing Then If oEnvelopeData Is Nothing Then
Logger.Warn("SendInvMail - EnvelopeData could not be loaded for Id [{0}]!", oId) Logger.Warn("SendInvMail - EnvelopeData could not be loaded for Id [{0}]!", oId)
@ -133,7 +134,7 @@ Namespace Jobs
Throw New ArgumentNullException("EnvelopeData") Throw New ArgumentNullException("EnvelopeData")
End If End If
oEnvelope.CURRENT_WORK_APP = "signFLOW_API_EnvJob_Withdrawn" oEnvelope.CURRENT_WORK_APP = "signFLOW_API_EnvJob_Withdrawn"
oEnvelope.Receivers = ReceiverModel.ListEnvelopeReceivers(oEnvelope.Id).ToList() oEnvelope.Receivers = ReceiverModel.ListEnvelopeReceivers(oEnvelope.Id).OfType(Of EnvelopeReceiver).ToList()
Logger.Debug("WithdrawnEnv - Sending Withdrawn Mails..") Logger.Debug("WithdrawnEnv - Sending Withdrawn Mails..")

View File

@ -338,7 +338,7 @@ Namespace Jobs
For Each oReceiver In pEnvelope.Receivers For Each oReceiver In pEnvelope.Receivers
If ActionService.CompleteEnvelope(pEnvelope, oReceiver) = False Then ', oAttachment If ActionService.CompleteEnvelope(pEnvelope, oReceiver) = False Then ', oAttachment
Logger.Error("Envelope could not be completed for receiver [{0}]", oReceiver.EmailAddress) Logger.Error("Envelope could not be completed for receiver [{0}]", oReceiver.Receiver.EmailAddress)
Return False Return False
End If End If
Next Next

View File

@ -1,4 +1,5 @@
Imports EnvelopeGenerator.Domain Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities
Imports EnvelopeGenerator.Domain
Imports EnvelopeGenerator.Domain.Entities Imports EnvelopeGenerator.Domain.Entities
Public Class EmailData Public Class EmailData
Public Property EmailAdress As String = "" Public Property EmailAdress As String = ""
@ -28,7 +29,7 @@ Public Class EmailData
''' <param name="pEnvelope"></param> ''' <param name="pEnvelope"></param>
''' <param name="pReceiver"></param> ''' <param name="pReceiver"></param>
''' <param name="pStatus"></param> ''' <param name="pStatus"></param>
Public Sub New(pEnvelope As Entities.Envelope, pReceiver As Receiver, pStatus As Constants.EnvelopeStatus) Public Sub New(pEnvelope As Entities.Envelope, pReceiver As ReceiverVM, pStatus As Constants.EnvelopeStatus)
EmailAdress = pReceiver.EmailAddress EmailAdress = pReceiver.EmailAddress
EmailSubject = String.Empty EmailSubject = String.Empty
EmailType = pStatus EmailType = pStatus

View File

@ -2,6 +2,7 @@
Imports System.Net.Mail Imports System.Net.Mail
Imports DevExpress.DataProcessing Imports DevExpress.DataProcessing
Imports DigitalData.Modules.Base Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities
Imports EnvelopeGenerator.Domain.Constants Imports EnvelopeGenerator.Domain.Constants
Imports EnvelopeGenerator.Domain.Entities Imports EnvelopeGenerator.Domain.Entities
@ -12,7 +13,7 @@ Public Class ReceiverModel
MyBase.New(pState) MyBase.New(pState)
End Sub End Sub
Private Function ToReceiver(pRow As DataRow, pColorIndex As Integer) As Receiver Private Function ToReceiver(pRow As DataRow, pColorIndex As Integer) As ReceiverVM
Dim EmailAdress As String = pRow.ItemEx("EMAIL_ADDRESS", "") Dim EmailAdress As String = pRow.ItemEx("EMAIL_ADDRESS", "")
Dim EnvelopeId As Integer = pRow.ItemEx("ENVELOPE_ID", 0) Dim EnvelopeId As Integer = pRow.ItemEx("ENVELOPE_ID", 0)
Dim SignedDate As DateTime = DateTime.MinValue Dim SignedDate As DateTime = DateTime.MinValue
@ -25,7 +26,7 @@ Public Class ReceiverModel
End If End If
End If End If
Return New Receiver() With { Return New ReceiverVM() With {
.Id = pRow.ItemEx("GUID", 0), .Id = pRow.ItemEx("GUID", 0),
.EmailAddress = pRow.ItemEx("EMAIL_ADDRESS", ""), .EmailAddress = pRow.ItemEx("EMAIL_ADDRESS", ""),
.Name = pRow.ItemEx("NAME", ""), .Name = pRow.ItemEx("NAME", ""),
@ -66,28 +67,6 @@ Public Class ReceiverModel
End If End If
End Function End Function
Public Function Update(pReceiver As Receiver, pTransaction As SqlTransaction) As Boolean
Try
Dim oSql As String = $"UPDATE [dbo].[TBSIG_USER_RECEIVER]
SET [NAME] = '{pReceiver.Name}'
,[COMPANY_NAME] = '{pReceiver.Company}'
,[JOB_TITLE] = '{pReceiver.JobTitle}'
WHERE RECEIVER_ID = {pReceiver.Id}"
Dim oCommand = New SqlCommand(oSql)
'oCommand.Parameters.Add("NAME", SqlDbType.NVarChar).Value = pReceiver.Name
'oCommand.Parameters.Add("COMPANY", SqlDbType.NVarChar).Value = pReceiver.Company
'oCommand.Parameters.Add("JOB", SqlDbType.NVarChar).Value = pReceiver.JobTitle
'oCommand.Parameters.Add("RECEIVER_ID", SqlDbType.Int).Value = pReceiver.Id
'oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pReceiver.Id
Return Database.ExecuteNonQuery(oCommand, pTransaction)
Catch ex As Exception
Logger.Error(ex)
Return False
End Try
End Function
Public Function Unassign(pEnvelope As Envelope, pTransaction As SqlTransaction) As Boolean Public Function Unassign(pEnvelope As Envelope, pTransaction As SqlTransaction) As Boolean
Try Try
Return Database.ExecuteNonQuery($"DELETE FROM [dbo].[TBSIG_ENVELOPE_RECEIVER] WHERE [ENVELOPE_ID] = {pEnvelope.Id}", pTransaction) Return Database.ExecuteNonQuery($"DELETE FROM [dbo].[TBSIG_ENVELOPE_RECEIVER] WHERE [ENVELOPE_ID] = {pEnvelope.Id}", pTransaction)
@ -97,7 +76,7 @@ Public Class ReceiverModel
End Try End Try
End Function End Function
Public Function Assign(pEnvelope As Envelope, pReceiver As Receiver, pTransaction As SqlTransaction) As Boolean Public Function Assign(pEnvelope As Envelope, pReceiver As ReceiverVM, pTransaction As SqlTransaction) As Boolean
Dim oSql = $"INSERT INTO [dbo].[TBSIG_ENVELOPE_RECEIVER] Dim oSql = $"INSERT INTO [dbo].[TBSIG_ENVELOPE_RECEIVER]
([ENVELOPE_ID] ([ENVELOPE_ID]
,[RECEIVER_ID] ,[RECEIVER_ID]
@ -132,7 +111,7 @@ Public Class ReceiverModel
Return Database.ExecuteNonQuery(oCommand, pTransaction) Return Database.ExecuteNonQuery(oCommand, pTransaction)
End Function End Function
Public Function ListEnvelopeReceivers(pEnvelopeId As Integer) As IEnumerable(Of Receiver) Public Function ListEnvelopeReceivers(pEnvelopeId As Integer) As IEnumerable(Of ReceiverVM)
Try Try
Dim oSql = $"SELECT * FROM [dbo].[VWSIG_ENVELOPE_RECEIVERS] WHERE ENVELOPE_ID = {pEnvelopeId}" Dim oSql = $"SELECT * FROM [dbo].[VWSIG_ENVELOPE_RECEIVERS] WHERE ENVELOPE_ID = {pEnvelopeId}"
Dim oTable = Database.GetDatatable(oSql) Dim oTable = Database.GetDatatable(oSql)

View File

@ -94,7 +94,7 @@ Namespace EnvelopeGenerator.Domain.Entities
End Property End Property
Public Function GetSignature() As String Public Function GetSignature() As String
Return EmailAddress.ToUpperInvariant().GetChecksum() Return Receiver.GetSignature()
End Function End Function
#End Region #End Region

View File

@ -2,6 +2,7 @@
Imports EnvelopeGenerator.Domain.Constants Imports EnvelopeGenerator.Domain.Constants
Imports EnvelopeGenerator.CommonServices.My.Resources Imports EnvelopeGenerator.CommonServices.My.Resources
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities
Public Class ActionService Public Class ActionService
Inherits BaseService Inherits BaseService
@ -54,10 +55,10 @@ Public Class ActionService
Next Next
Return oSendResult Return oSendResult
End Function End Function
Public Function ResendReceiver(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean Public Function ResendReceiver(pEnvelope As Domain.Entities.Envelope, pReceiver As ReceiverVM) As Boolean
Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver) Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver)
End Function End Function
Public Function ManuallySendAccessCode(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean Public Function ManuallySendAccessCode(pEnvelope As Domain.Entities.Envelope, pReceiver As ReceiverVM) As Boolean
Return EmailService.SendDocumentAccessCodeReceivedEmail(pEnvelope, pReceiver) Return EmailService.SendDocumentAccessCodeReceivedEmail(pEnvelope, pReceiver)
End Function End Function
@ -86,7 +87,7 @@ Public Class ActionService
End Function End Function
Public Function API_SendWithdrawn_Mails(pEnvelope As Domain.Entities.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 Dim oSendResult As Boolean = False
For Each oReceiver As Receiver In pEnvelope.Receivers For Each oReceiver As ReceiverVM In pEnvelope.Receivers
If EmailService.SendEnvelopeDeletedEmail(pEnvelope, oReceiver, pReason) = False Then If EmailService.SendEnvelopeDeletedEmail(pEnvelope, oReceiver, pReason) = False Then
Return False Return False
End If End If
@ -134,7 +135,7 @@ Public Class ActionService
Return True Return True
End Function End Function
Public Function SignEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean Public Function SignEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As ReceiverVM) As Boolean
Dim oUserReference = pReceiver.EmailAddress Dim oUserReference = pReceiver.EmailAddress
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.DocumentSigned, oUserReference) = False Then If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.DocumentSigned, oUserReference) = False Then
@ -152,7 +153,7 @@ Public Class ActionService
Return True Return True
End Function End Function
Public Function CompleteEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As Domain.Entities.Receiver) As Boolean ', pAttachment As String Public Function CompleteEnvelope(pEnvelope As Domain.Entities.Envelope, pReceiver As ReceiverVM) As Boolean ', pAttachment As String
If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.MessageCompletionSent, pReceiver.EmailAddress) = False Then If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.MessageCompletionSent, pReceiver.EmailAddress) = False Then
Return False Return False
End If End If

View File

@ -1,4 +1,5 @@
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities
Imports EnvelopeGenerator.Domain.Entities Imports EnvelopeGenerator.Domain.Entities
Public Class EmailService Public Class EmailService
@ -14,7 +15,7 @@ Public Class EmailService
EmailTemplate = New TemplateService(pState) EmailTemplate = New TemplateService(pState)
End Sub End Sub
Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As Receiver, pReason As String) As Boolean Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As ReceiverVM, pReason As String) As Boolean
Logger.Debug("SendEnvelopeDeletedEmail - Creating email data object...") Logger.Debug("SendEnvelopeDeletedEmail - Creating email data object...")
Dim oEmailData As New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageDeletionSent) With Dim oEmailData As New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageDeletionSent) With
{ {
@ -32,7 +33,7 @@ Public Class EmailService
Return True Return True
End Function End Function
Public Function SendDocumentReceivedEmail(pEnvelope As Envelope, pReceiver As Receiver) As Boolean Public Function SendDocumentReceivedEmail(pEnvelope As Envelope, pReceiver As ReceiverVM) As Boolean
Logger.Debug("Creating email data object.") Logger.Debug("Creating email data object.")
Dim oEmailData As New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageInvitationSent) With Dim oEmailData As New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageInvitationSent) With
{ {
@ -50,7 +51,7 @@ Public Class EmailService
Return True Return True
End Function End Function
Public Function GetReceiverUrl(pEnvelope As Envelope, pReceiver As Receiver) As String Public Function GetReceiverUrl(pEnvelope As Envelope, pReceiver As ReceiverVM) As String
Logger.Debug($"State.DbConfig.SignatureHost: {State.DbConfig.SignatureHost}") Logger.Debug($"State.DbConfig.SignatureHost: {State.DbConfig.SignatureHost}")
Logger.Debug($" pEnvelope.Uuid: {pEnvelope.Uuid}") Logger.Debug($" pEnvelope.Uuid: {pEnvelope.Uuid}")
Logger.Debug($" pReceiver.Signature: {pReceiver.Signature}") Logger.Debug($" pReceiver.Signature: {pReceiver.Signature}")
@ -63,7 +64,7 @@ Public Class EmailService
End Function End Function
Public Function SendDocumentAccessCodeReceivedEmail(pEnvelope As Envelope, pReceiver As Receiver) As Boolean Public Function SendDocumentAccessCodeReceivedEmail(pEnvelope As Envelope, pReceiver As ReceiverVM) As Boolean
Logger.Debug("Creating email data object.") Logger.Debug("Creating email data object.")
Logger.Debug($"State.DbConfig.SignatureHost: {State.DbConfig.SignatureHost}") Logger.Debug($"State.DbConfig.SignatureHost: {State.DbConfig.SignatureHost}")
Logger.Debug($" pEnvelope.Uuid: {pEnvelope.Uuid}") Logger.Debug($" pEnvelope.Uuid: {pEnvelope.Uuid}")
@ -84,7 +85,7 @@ Public Class EmailService
Return True Return True
End Function End Function
Public Function SendSignedEmail(pEnvelope As Envelope, pReceiver As Receiver) As Boolean Public Function SendSignedEmail(pEnvelope As Envelope, pReceiver As ReceiverVM) As Boolean
Logger.Debug("Creating email data object.") Logger.Debug("Creating email data object.")
Dim oEmailData = New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageConfirmationSent) With Dim oEmailData = New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageConfirmationSent) With
{ {
@ -101,7 +102,7 @@ Public Class EmailService
Return True Return True
End Function End Function
Public Function SendDocumentCompletedEmailToReceiver(pEnvelope As Envelope, pReceiver As Receiver) As Boolean ', pAttachment As String Public Function SendDocumentCompletedEmailToReceiver(pEnvelope As Envelope, pReceiver As ReceiverVM) As Boolean ', pAttachment As String
Logger.Debug("Creating email data object.") Logger.Debug("Creating email data object.")
Dim oEmailData = New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageCompletionSent) With Dim oEmailData = New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageCompletionSent) With
{ {

View File

@ -41,6 +41,8 @@ public class Receiver
public DateTime? TfaRegDeadline { get; set; } public DateTime? TfaRegDeadline { get; set; }
public List<EnvelopeReceiver> EnvelopeReceivers { get; set; } public List<EnvelopeReceiver> EnvelopeReceivers { get; set; }
public string GetSignature() => EmailAddress.ToUpperInvariant().GetChecksum();
} }
#if NETFRAMEWORK #if NETFRAMEWORK