EnvelopeGenerator/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb
2023-12-04 16:29:33 +01:00

73 lines
2.3 KiB
VB.net

Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports GdPicture14
Imports Quartz
Imports Quartz.Util
Public Class CertificateDocumentJob
Implements IJob
Private LicenseManager As New LicenseManager()
Private GdViewer As GdViewer
Private LogConfig As LogConfig
Private Logger As Logger
Private Database As MSSQLServer
Private Config As DbConfig
Public Function Execute(pContext As IJobExecutionContext) As Task Implements IJob.Execute
Dim oGdPictureKey As String = pContext.MergedJobDataMap.Item(Constants.GDPICTURE)
LogConfig = pContext.MergedJobDataMap.Item(Constants.LOGCONFIG)
Logger = LogConfig.GetLogger()
Try
Logger.Info("Loading GdViewer..")
GdViewer = New GdViewer()
LicenseManager.RegisterKEY(oGdPictureKey)
Logger.Info("Loading Database..")
Database = GetDatabase(pContext, LogConfig)
Logger.Info("Loading Configuration..")
Config = GetDbConfig(Database)
Dim JobId = pContext.JobDetail.Key
Logger.Info("Starting job {0}", JobId)
Dim oCompleteStatus As Integer = Constants.EnvelopeStatus.EnvelopeCompletelySigned
Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus}"
Dim oTable = Database.GetDatatable(oSql)
Logger.Info("Found [{0}] completed envelopes.", oTable.Rows.Count)
' Do important work...
Logger.Info("Completed job {0}", JobId)
Return Task.FromResult(True)
Catch ex As Exception
Logger.Warn("Certificate Document job failed!")
Logger.Error(ex)
Return Task.FromException(ex)
End Try
End Function
Private Function GetDbConfig(pDatabase) As DbConfig
Dim oState As New State With {.Database = pDatabase}
Dim oConfigModel = New ConfigModel(oState)
Return oConfigModel.LoadConfiguration()
End Function
Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer
Dim oConnectionString As String = pContext.MergedJobDataMap.Item(Constants.DATABASE)
Dim Database = New MSSQLServer(pLogConfig, MSSQLServer.DecryptConnectionString(oConnectionString))
Return Database
End Function
End Class