Added Encrypt=True and TrustServerCertificate=True to the SQL Server connection string to ensure encrypted connections and allow trusting the server certificate, improving overall connection security.
127 lines
6.2 KiB
VB.net
127 lines
6.2 KiB
VB.net
Imports System.IO
|
|
Imports DigitalData.Modules.Database
|
|
Imports DigitalData.Modules.Logging
|
|
Imports EnvelopeGenerator.CommonServices.Jobs
|
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument
|
|
Imports GdPicture14
|
|
Imports Newtonsoft.Json.Linq
|
|
Imports EnvelopeGenerator.Infrastructure
|
|
Imports Microsoft.EntityFrameworkCore
|
|
Imports DigitalData.Core.Abstractions
|
|
|
|
Public Class frmFinalizePDF
|
|
Private Const CONNECTIONSTRING = "Server=sDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPnqi1WMNs9fE4=;" + "Encrypt=True;TrustServerCertificate=True;"
|
|
|
|
Private Database As MSSQLServer
|
|
Private LogConfig As LogConfig
|
|
|
|
Private Viewer As GdViewer
|
|
Private Manager As AnnotationManager
|
|
Private PDFBurner As FinalizeDocument.PDFBurner
|
|
Private pGDPictureLicenseKey As String = "kG1Qf9PwmqgR8aDmIW2zI_ebj48RzqAJegRxcystEmkbTGQqfkNBdFOXIb6C_A00Ra8zZkrHdfjqzOPXK7kgkF2YDhvrqKfqh4WDug2vOt0qO31IommzkANSuLjZ4zmraoubyEVd25rE3veQ2h_j7tGIoH_LyIHmy24GaXsxdG0yCzIBMdiLbMMMDwcPY-809KeZ83Grv76OVhFvcbBWyYc251vou1N-kGg5_ZlHDgfWoY85gTLRxafjD3KS_i9ARW4BMiy36y8n7UP2jN8kGRnW_04ubpFtfjJqvtsrP_J9D0x7bqV8xtVtT5JI6dpKsVTiMgDCrIcoFSo5gCC1fw9oUopX4TDCkBQttO4-WHBlOeq9dG5Yb0otonVmJKaQA2tP6sMR-lZDs3ql_WI9t91yPWgpssrJUxSHDd27_LMTH_owJIqkF3NOJd9mYQuAv22oNKFYbH8e41pVKb8cT33Y9CgcQ_sy6YDA5PTuIRi67mjKge_nD9rd0IN213Ir9M_EFWqg9e4haWzIdHXQUo0md70kVhPX4UIH_BKJnxEEnFfoFRNMh77bB0N4jkcBEHPl-ghOERv8dOztf4vCnNpzzWvcLD2cqWIm6THy8XGGq9h4hp8aEreRleSMwv9QQAC7mjLwhQ1rBYkpUHlpTjhTLnMwHknl6HH0Z6zzmsgkRKVyfquv94Pd7QbQfZrRka0ss_48pf9p8hAywEn81Q=="
|
|
Private ReadOnly _pdfBurnerParams As New PDFBurnerParams()
|
|
|
|
Private Sub frmFinalizePDF_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
LogConfig = New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath)
|
|
|
|
Dim dCnnStr As String = MSSQLServer.DecryptConnectionString(CONNECTIONSTRING)
|
|
|
|
Database = New MSSQLServer(LogConfig, dCnnStr)
|
|
|
|
#Disable Warning BC40000 ' Type or member is obsolete
|
|
Factory.Shared _
|
|
.BehaveOnPostBuild(PostBuildBehavior.Ignore) _
|
|
.AddEnvelopeGeneratorInfrastructureServices(
|
|
Sub(opt)
|
|
opt.AddDbTriggerParams(
|
|
Sub(triggers)
|
|
triggers("Envelope") = New List(Of String) From {"TBSIG_ENVELOPE_AFT_INS"}
|
|
triggers("History") = New List(Of String) From {"TBSIG_ENVELOPE_HISTORY_AFT_INS"}
|
|
triggers("EmailOut") = New List(Of String) From {"TBEMLP_EMAIL_OUT_AFT_INS", "TBEMLP_EMAIL_OUT_AFT_UPD"}
|
|
triggers("EnvelopeReceiverReadOnly") = New List(Of String) From {"TBSIG_ENVELOPE_RECEIVER_READ_ONLY_UPD"}
|
|
triggers("Receiver") = New List(Of String)() ' no tigger
|
|
triggers("EmailTemplate") = New List(Of String) From {"TBSIG_EMAIL_TEMPLATE_AFT_UPD"}
|
|
End Sub)
|
|
opt.AddDbContext(
|
|
Sub(options)
|
|
options.UseSqlServer(dCnnStr) _
|
|
.EnableSensitiveDataLogging() _
|
|
.EnableDetailedErrors()
|
|
End Sub)
|
|
End Sub)
|
|
#Enable Warning BC40000 ' Type or member is obsolete
|
|
|
|
PDFBurner = New PDFBurner(LogConfig, pGDPictureLicenseKey, _pdfBurnerParams)
|
|
|
|
Viewer = New GdViewer()
|
|
Manager = New AnnotationManager()
|
|
Dim oLicense = New LicenseManager()
|
|
oLicense.RegisterKEY(pGDPictureLicenseKey)
|
|
End Sub
|
|
|
|
Private Function LoadAnnotationDataForReceiver() As String
|
|
Dim oSql = $"SELECT VALUE FROM [TBSIG_DOCUMENT_STATUS] WHERE ENVELOPE_ID = {txtEnvelope.Text} AND RECEIVER_ID = {txtReceiver.Text}"
|
|
Return Database.GetScalarValue(oSql)
|
|
|
|
End Function
|
|
|
|
Private Function LoadAnnotationDataForEnvelope() As DataTable
|
|
Dim oSql = $"SELECT VALUE FROM [TBSIG_DOCUMENT_STATUS] WHERE ENVELOPE_ID = {txtEnvelope.Text}"
|
|
Return Database.GetDatatable(oSql)
|
|
|
|
End Function
|
|
|
|
Private Function LoadEnvelopeDocument() As String
|
|
Dim oSql = $"SELECT FILEPATH FROM [TBSIG_ENVELOPE_DOCUMENT] WHERE ENVELOPE_ID = {txtEnvelope.Text}"
|
|
Return Database.GetScalarValue(oSql)
|
|
|
|
End Function
|
|
|
|
Private Function ReadEnvelope(ByVal pEnvID As Integer) As Byte()
|
|
Dim strSql As String = "Select [BYTE_DATA] from [TBSIG_ENVELOPE_DOCUMENT] WHERE ENVELOPE_ID = " & pEnvID
|
|
Dim obyteDB = Database.GetScalarValue(strSql)
|
|
If Not IsDBNull(obyteDB) Then
|
|
Dim fileData As Byte() = DirectCast(Database.GetScalarValue(strSql), Byte())
|
|
If fileData IsNot Nothing Then
|
|
Return fileData
|
|
End If
|
|
End If
|
|
|
|
Throw New InvalidOperationException($"Byte data is null. Envelope ID: {pEnvID}")
|
|
|
|
End Function
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
Dim oTable = LoadAnnotationDataForEnvelope()
|
|
Dim oJsonList = oTable.Rows.
|
|
Cast(Of DataRow).
|
|
Select(Function(r As DataRow) r.Item("VALUE").ToString()).
|
|
ToList()
|
|
|
|
Dim envelopeId As Integer = CInt(txtEnvelope.Text)
|
|
Dim oBuffer As Byte() = ReadEnvelope(envelopeId)
|
|
Dim oNewBuffer = PDFBurner.BurnAnnotsToPDF(oBuffer, oJsonList, envelopeId)
|
|
Dim desktopPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
|
|
Dim oNewPath = Path.Combine(desktopPath, $"E{txtEnvelope.Text}R{txtReceiver.Text}.burned.pdf")
|
|
|
|
File.WriteAllBytes(oNewPath, oNewBuffer)
|
|
|
|
Process.Start(oNewPath)
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
Dim oTable = LoadAnnotationDataForEnvelope()
|
|
Dim oJsonList = oTable.Rows.
|
|
Cast(Of DataRow).
|
|
Select(Function(r As DataRow) r.Item("VALUE").ToString()).
|
|
Select(Function(s As String) JObject.Parse(s)).
|
|
ToList()
|
|
|
|
Dim oJObject1 = oJsonList.First()
|
|
Dim oJObject2 = oJsonList.ElementAt(1)
|
|
|
|
oJObject1.Merge(oJObject2)
|
|
|
|
txtResult.Text = oJObject1.ToString()
|
|
End Sub
|
|
End Class |