diff --git a/EnvelopeGenerator.CommonServices/Jobs/APIBackendJobs/APIEnvelopeJob.vb b/EnvelopeGenerator.CommonServices/Jobs/APIBackendJobs/APIEnvelopeJob.vb index 8e3ff0db..4509a519 100644 --- a/EnvelopeGenerator.CommonServices/Jobs/APIBackendJobs/APIEnvelopeJob.vb +++ b/EnvelopeGenerator.CommonServices/Jobs/APIBackendJobs/APIEnvelopeJob.vb @@ -4,6 +4,7 @@ Imports DigitalData.Modules.Base Imports Quartz Imports System.Security.Cryptography Imports DevExpress.DataProcessing +Imports EnvelopeGenerator.Domain.Entities Namespace Jobs Public Class APIEnvelopeJob @@ -83,7 +84,7 @@ Namespace Jobs oEnvelope.CURRENT_WORK_APP = "signFLOW_API_EnvJob_InvMail" Logger.Debug("SendInvMail - Loading Envelope Data..") 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!") If oEnvelopeData Is Nothing Then Logger.Warn("SendInvMail - EnvelopeData could not be loaded for Id [{0}]!", oId) @@ -133,7 +134,7 @@ Namespace Jobs Throw New ArgumentNullException("EnvelopeData") End If 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..") diff --git a/EnvelopeGenerator.CommonServices/Jobs/FinalizeDocument/FinalizeDocumentJob.vb b/EnvelopeGenerator.CommonServices/Jobs/FinalizeDocument/FinalizeDocumentJob.vb index 56b4f5ec..3eeccf5b 100644 --- a/EnvelopeGenerator.CommonServices/Jobs/FinalizeDocument/FinalizeDocumentJob.vb +++ b/EnvelopeGenerator.CommonServices/Jobs/FinalizeDocument/FinalizeDocumentJob.vb @@ -338,7 +338,7 @@ Namespace Jobs For Each oReceiver In pEnvelope.Receivers 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 End If Next diff --git a/EnvelopeGenerator.CommonServices/Models/EmailData.vb b/EnvelopeGenerator.CommonServices/Models/EmailData.vb index 2ecc6d90..0c2d80de 100644 --- a/EnvelopeGenerator.CommonServices/Models/EmailData.vb +++ b/EnvelopeGenerator.CommonServices/Models/EmailData.vb @@ -1,4 +1,5 @@ -Imports EnvelopeGenerator.Domain +Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities +Imports EnvelopeGenerator.Domain Imports EnvelopeGenerator.Domain.Entities Public Class EmailData Public Property EmailAdress As String = "" @@ -28,7 +29,7 @@ Public Class EmailData ''' ''' ''' - 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 EmailSubject = String.Empty EmailType = pStatus diff --git a/EnvelopeGenerator.CommonServices/Models/ReceiverModel.vb b/EnvelopeGenerator.CommonServices/Models/ReceiverModel.vb index 6663127e..55952345 100644 --- a/EnvelopeGenerator.CommonServices/Models/ReceiverModel.vb +++ b/EnvelopeGenerator.CommonServices/Models/ReceiverModel.vb @@ -2,6 +2,7 @@ Imports System.Net.Mail Imports DevExpress.DataProcessing Imports DigitalData.Modules.Base +Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities Imports EnvelopeGenerator.Domain.Constants Imports EnvelopeGenerator.Domain.Entities @@ -12,7 +13,7 @@ Public Class ReceiverModel MyBase.New(pState) 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 EnvelopeId As Integer = pRow.ItemEx("ENVELOPE_ID", 0) Dim SignedDate As DateTime = DateTime.MinValue @@ -25,7 +26,7 @@ Public Class ReceiverModel End If End If - Return New Receiver() With { + Return New ReceiverVM() With { .Id = pRow.ItemEx("GUID", 0), .EmailAddress = pRow.ItemEx("EMAIL_ADDRESS", ""), .Name = pRow.ItemEx("NAME", ""), @@ -66,28 +67,6 @@ Public Class ReceiverModel End If 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 Try 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 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] ([ENVELOPE_ID] ,[RECEIVER_ID] @@ -132,7 +111,7 @@ Public Class ReceiverModel Return Database.ExecuteNonQuery(oCommand, pTransaction) End Function - Public Function ListEnvelopeReceivers(pEnvelopeId As Integer) As IEnumerable(Of Receiver) + Public Function ListEnvelopeReceivers(pEnvelopeId As Integer) As IEnumerable(Of ReceiverVM) Try Dim oSql = $"SELECT * FROM [dbo].[VWSIG_ENVELOPE_RECEIVERS] WHERE ENVELOPE_ID = {pEnvelopeId}" Dim oTable = Database.GetDatatable(oSql) diff --git a/EnvelopeGenerator.CommonServices/Models/ReceiverVM.vb b/EnvelopeGenerator.CommonServices/Models/ReceiverVM.vb index 1493398a..7a570c4e 100644 --- a/EnvelopeGenerator.CommonServices/Models/ReceiverVM.vb +++ b/EnvelopeGenerator.CommonServices/Models/ReceiverVM.vb @@ -94,7 +94,7 @@ Namespace EnvelopeGenerator.Domain.Entities End Property Public Function GetSignature() As String - Return EmailAddress.ToUpperInvariant().GetChecksum() + Return Receiver.GetSignature() End Function #End Region diff --git a/EnvelopeGenerator.CommonServices/Services/ActionService.vb b/EnvelopeGenerator.CommonServices/Services/ActionService.vb index 10df444b..5af3cb85 100644 --- a/EnvelopeGenerator.CommonServices/Services/ActionService.vb +++ b/EnvelopeGenerator.CommonServices/Services/ActionService.vb @@ -2,6 +2,7 @@ Imports EnvelopeGenerator.Domain.Constants Imports EnvelopeGenerator.CommonServices.My.Resources Imports DigitalData.Modules.Database +Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities Public Class ActionService Inherits BaseService @@ -54,10 +55,10 @@ Public Class ActionService Next Return oSendResult 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) 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) End Function @@ -86,7 +87,7 @@ Public Class ActionService End Function 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 + For Each oReceiver As ReceiverVM In pEnvelope.Receivers If EmailService.SendEnvelopeDeletedEmail(pEnvelope, oReceiver, pReason) = False Then Return False End If @@ -134,7 +135,7 @@ Public Class ActionService Return True 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 If HistoryService.SetEnvelopeStatus(pEnvelope, EnvelopeStatus.DocumentSigned, oUserReference) = False Then @@ -152,7 +153,7 @@ Public Class ActionService Return True 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 Return False End If diff --git a/EnvelopeGenerator.CommonServices/Services/EmailService.vb b/EnvelopeGenerator.CommonServices/Services/EmailService.vb index 9b6f428f..fb80c54b 100644 --- a/EnvelopeGenerator.CommonServices/Services/EmailService.vb +++ b/EnvelopeGenerator.CommonServices/Services/EmailService.vb @@ -1,4 +1,5 @@ Imports DigitalData.Modules.Logging +Imports EnvelopeGenerator.CommonServices.EnvelopeGenerator.Domain.Entities Imports EnvelopeGenerator.Domain.Entities Public Class EmailService @@ -14,7 +15,7 @@ Public Class EmailService EmailTemplate = New TemplateService(pState) 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...") Dim oEmailData As New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageDeletionSent) With { @@ -32,7 +33,7 @@ Public Class EmailService Return True 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.") Dim oEmailData As New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageInvitationSent) With { @@ -50,7 +51,7 @@ Public Class EmailService Return True 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($" pEnvelope.Uuid: {pEnvelope.Uuid}") Logger.Debug($" pReceiver.Signature: {pReceiver.Signature}") @@ -63,7 +64,7 @@ Public Class EmailService 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($"State.DbConfig.SignatureHost: {State.DbConfig.SignatureHost}") Logger.Debug($" pEnvelope.Uuid: {pEnvelope.Uuid}") @@ -84,7 +85,7 @@ Public Class EmailService Return True 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.") Dim oEmailData = New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageConfirmationSent) With { @@ -101,7 +102,7 @@ Public Class EmailService Return True 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.") Dim oEmailData = New EmailData(pEnvelope, pReceiver, Domain.Constants.EnvelopeStatus.MessageCompletionSent) With { diff --git a/EnvelopeGenerator.Domain/Entities/Receiver.cs b/EnvelopeGenerator.Domain/Entities/Receiver.cs index 58315ee9..d5e276f3 100644 --- a/EnvelopeGenerator.Domain/Entities/Receiver.cs +++ b/EnvelopeGenerator.Domain/Entities/Receiver.cs @@ -41,6 +41,8 @@ public class Receiver public DateTime? TfaRegDeadline { get; set; } public List EnvelopeReceivers { get; set; } + + public string GetSignature() => EmailAddress.ToUpperInvariant().GetChecksum(); } #if NETFRAMEWORK