Imports DevExpress.DataAccess.Native.Web Imports DigitalData.Modules.Base Imports EnvelopeGenerator.Common.My.Resources Public Class ActionService Inherits BaseService Private ReadOnly EmailService As EmailService Private ReadOnly HistoryService As HistoryService Private ReadOnly ReceiverModel As ReceiverModel Public Sub New(pState As State) MyBase.New(pState) 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 Resend_Receiver(pEnvelope As Envelope, pmail As String) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then Return False End If Dim oSendResult As Boolean = False For Each oReceiver In pEnvelope.Receivers EmailService.SendDocumentReceivedEmail(pEnvelope, oReceiver) Next Return oSendResult End Function Public Function ResendReceiver(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver) End Function Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) 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, pReason)). 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 RequestAccessCode(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Dim oUserReference = pReceiver.Email If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.AccessCodeRequested, oUserReference) = False Then Return False End If Return True End Function Public Function EnterCorrectAccessCode(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Dim oUserReference = pReceiver.Email If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.AccessCodeCorrect, oUserReference) = False Then Return False End If Return True End Function Public Function EnterIncorrectAccessCode(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Dim oUserReference = pReceiver.Email If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.AccessCodeIncorrect, 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 Public Function CompleteEnvelope(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean ', pAttachment As String If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.MessageCompletionSent, pReceiver.Email) = False Then Return False End If Return EmailService.SendDocumentCompletedEmailToReceiver(pEnvelope, pReceiver) ', pAttachment End Function Public Function CompleteEnvelope(pEnvelope As Envelope) As Boolean ', pAttachment As String If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.MessageCompletionSent, pEnvelope.User.Email) = False Then Return False End If Return EmailService.SendDocumentCompletedEmailToCreator(pEnvelope) ', pAttachment End Function Public Function CreateReport(pEnvelope As Envelope) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeReportCreated, "System") = False Then Return False End If Return True End Function End Class