This commit is contained in:
Jonathan Jenne 2023-12-08 10:21:43 +01:00
parent dbeabab832
commit 951c9d9122
4 changed files with 51 additions and 8 deletions

View File

@ -28,6 +28,8 @@ Namespace Jobs
Private Database As MSSQLServer Private Database As MSSQLServer
Private Config As DbConfig Private Config As DbConfig
Private ActionService As ActionService
Private PDFBurner As PDFBurner Private PDFBurner As PDFBurner
Private Class EnvelopeData Private Class EnvelopeData
@ -43,6 +45,9 @@ Namespace Jobs
Logger = LogConfig.GetLogger() Logger = LogConfig.GetLogger()
Try Try
InitializeModels()
InitializeServices()
Logger.Debug("Loading GdViewer..") Logger.Debug("Loading GdViewer..")
GdViewer = New GdViewer() GdViewer = New GdViewer()
LicenseManager.RegisterKEY(oGdPictureKey) LicenseManager.RegisterKEY(oGdPictureKey)
@ -78,17 +83,33 @@ Namespace Jobs
If oEnvelopeData Is Nothing Then If oEnvelopeData Is Nothing Then
Logger.Warn("EnvelopeData could not be loaded for Envelope [{0}]!", oId) Logger.Warn("EnvelopeData could not be loaded for Envelope [{0}]!", oId)
Throw New ArgumentNullException("EnvelopeData")
End If End If
'GenerateFinalPDF(oEnvelopeData) If GenerateFinalPDF(oEnvelopeData) = False Then
'Dim oReport As Byte() = Await GenerateReportPdf(oId) Logger.Warn("Document could not be finalized!")
'MergeDocuments() Throw New ApplicationException("Document could not be finalized")
End If
Logger.Info("Envelope finialized!") ' Dim oReport As Byte() = Await GenerateReportPdf(oId)
' MergeDocuments()
Dim oEnvelope = EnvelopeModel.GetById(oId)
If oEnvelope Is Nothing Then
Logger.Warn("Envelope could not loaded!")
Throw New ApplicationException("Envelope could not loaded!")
End If
If ActionService.FinalizeEnvelope(oEnvelope) = False Then
Logger.Warn("Envelope could not be finalized!")
Throw New ApplicationException("Envelope could not be finalized")
End If
Logger.Info("Envelope finalized!")
Next Next
Logger.Debug("Completed job {0}", JobId) Logger.Info("Completed job {0} successfully!", JobId)
Catch ex As Exception Catch ex As Exception
Logger.Warn("Certificate Document job failed!") Logger.Warn("Certificate Document job failed!")
@ -119,7 +140,6 @@ Namespace Jobs
End Using End Using
End Using End Using
End Using End Using
End Function End Function
Private Function GenerateFinalPDF(pData As EnvelopeData) As Boolean Private Function GenerateFinalPDF(pData As EnvelopeData) As Boolean
@ -213,6 +233,10 @@ Namespace Jobs
} }
End Function End Function
Private Sub InitializeServices()
Dim oState = GetState()
ActionService = New ActionService(oState)
End Sub
Private Sub InitializeModels() Private Sub InitializeModels()
Dim oState = GetState() Dim oState = GetState()

View File

@ -60,9 +60,9 @@ Public Class EnvelopeModel
End Try End Try
End Function End Function
Public Function GetById(pEnvelopeId As String) As Envelope Public Function GetById(pEnvelopeId As Integer) As Envelope
Try Try
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE GUID = '{pEnvelopeId}'" Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE GUID = {pEnvelopeId}"
Dim oTable = Database.GetDatatable(oSql) Dim oTable = Database.GetDatatable(oSql)
Return ToEnvelope(oTable) Return ToEnvelope(oTable)

View File

@ -26,6 +26,19 @@ Public Class HistoryModel
ToList() ToList()
End Function End Function
Public Function HasReceiverSigned(pEnvelopeId As Integer, pReceiverId As Integer) As Boolean
Dim oEnvelopeSigned As Integer = Constants.EnvelopeStatus.DocumentSigned
Dim oSql = $"SELECT COUNT(T.GUID)
FROM TBSIG_ENVELOPE_HISTORY T
JOIN TBSIG_RECEIVER T2 ON T.USER_REFERENCE = T2.EMAIL_ADDRESS
WHERE T.STATUS = {oEnvelopeSigned} AND
T.ENVELOPE_ID = {pEnvelopeId} AND
T2.GUID = {pReceiverId}"
Dim oRowCount As Integer = Database.GetScalarValue(oSql)
Return oRowCount > 0
End Function
Public Function Insert(pHistory As EnvelopeHistoryEntry) As Boolean Public Function Insert(pHistory As EnvelopeHistoryEntry) As Boolean
Try Try
Dim oSql = "INSERT INTO [dbo].[TBSIG_ENVELOPE_HISTORY] " Dim oSql = "INSERT INTO [dbo].[TBSIG_ENVELOPE_HISTORY] "

View File

@ -70,6 +70,12 @@ Public Class ActionService
Return EmailService.SendSignedEmail(pEnvelope, pReceiver) Return EmailService.SendSignedEmail(pEnvelope, pReceiver)
End Function 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 End Class