From 5d210350e7e62978f45ac5b42fc3bac778097bd3 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 4 Dec 2023 16:29:33 +0100 Subject: [PATCH] Prepare Cert Document job --- EnvelopeGenerator.Common/Constants.vb | 1 + .../EnvelopeGenerator.Common.vbproj | 3 + .../Jobs/CertificateDocumentJob.vb | 56 +++++++++++++++---- 3 files changed, 50 insertions(+), 10 deletions(-) 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