diff --git a/EnvelopeGenerator.Common/Constants.vb b/EnvelopeGenerator.Common/Constants.vb
index 23ec5bc9..d347614b 100644
--- a/EnvelopeGenerator.Common/Constants.vb
+++ b/EnvelopeGenerator.Common/Constants.vb
@@ -62,6 +62,7 @@
Public Const DATABASE = "DATABASE"
Public Const LOGCONFIG = "LOGCONFIG"
+ Public Const GDPICTURE = "GDPICTURE"
#End Region
End Class
diff --git a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
index 59558586..fb3a52fb 100644
--- a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
+++ b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
@@ -74,6 +74,9 @@
False
..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll
+
+ D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll
+
..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll
diff --git a/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb b/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb
index 8f07c9a8..74730f0f 100644
--- a/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb
+++ b/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb
@@ -1,36 +1,72 @@
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 oLogConfig As LogConfig = pContext.MergedJobDataMap.Item(Constants.LOGCONFIG)
- Dim oConnectionString As String = pContext.MergedJobDataMap.Item(Constants.DATABASE)
- Dim oLogger As Logger = oLogConfig.GetLogger()
+ Dim oGdPictureKey As String = pContext.MergedJobDataMap.Item(Constants.GDPICTURE)
+ LogConfig = pContext.MergedJobDataMap.Item(Constants.LOGCONFIG)
+ Logger = LogConfig.GetLogger()
Try
- Dim oDatabase As New MSSQLServer(oLogConfig, MSSQLServer.DecryptConnectionString(oConnectionString))
+ 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
- oLogger.Info("Starting job {0}", JobId)
+ Logger.Info("Starting job {0}", JobId)
Dim oCompleteStatus As Integer = Constants.EnvelopeStatus.EnvelopeCompletelySigned
Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus}"
- Dim oTable = oDatabase.GetDatatable(oSql)
+ Dim oTable = Database.GetDatatable(oSql)
- oLogger.Info("Found [{0}] completed envelopes.", oTable.Rows.Count)
+ Logger.Info("Found [{0}] completed envelopes.", oTable.Rows.Count)
' Do important work...
- oLogger.Info("Completed job {0}", JobId)
+ Logger.Info("Completed job {0}", JobId)
Return Task.FromResult(True)
Catch ex As Exception
- oLogger.Warn("Certificate Document job failed!")
- oLogger.Error(ex)
+ 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