Imports DevExpress.DataAccess.Native.Web Imports DigitalData.Modules.Base Public Class ActionService Inherits BaseClass Private ReadOnly EmailService As EmailService Private ReadOnly HistoryService As HistoryService Private ReadOnly ReceiverModel As ReceiverModel Public Sub New(pState As State) MyBase.New(pState.LogConfig) EmailService = New EmailService(pState) HistoryService = New HistoryService(pState) ReceiverModel = New ReceiverModel(pState) End Sub Public Function SendEnvelope(pEnvelope As Envelope) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then Return False End If Dim oSendResult = pEnvelope.Receivers. Select(Function(r) EmailService.SendDocumentReceivedEmail(pEnvelope, r)). All(Function(r) r = True) If oSendResult = False Then Return False End If Return True End Function Public Function DeleteEnvelope(pEnvelope As Envelope) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeDeleted, pEnvelope.User.Email) = False Then Return False End If Dim oSendResult = pEnvelope.Receivers. Select(Function(r) EmailService.SendEnvelopeDeletedEmail(pEnvelope, r)). All(Function(r) r = True) If oSendResult = False Then Return False End If Return True End Function Public Function OpenEnvelope(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Dim oUserReference = pReceiver.Email If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.DocumentOpened, oUserReference) = False Then Return False End If Return True End Function Public Function SignEnvelope(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Dim oUserReference = pReceiver.Email If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.DocumentSigned, oUserReference) = False Then Return False End If Return EmailService.SendSignedEmail(pEnvelope, pReceiver) End Function Public Function FinalizeEnvelope(pEnvelope As Envelope) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeArchived, "System") = False Then Return False End If Return True End Function End Class