86 lines
3.2 KiB
VB.net
86 lines
3.2 KiB
VB.net
Imports DigitalData.Modules.Database
|
|
Imports DigitalData.Modules.Logging
|
|
Imports GdPicture14
|
|
Imports Newtonsoft.Json.Linq
|
|
Imports EnvelopeGenerator.Common.Jobs
|
|
Imports System.IO
|
|
|
|
Public Class frmFinalizePDF
|
|
Private Const CONNECTIONSTRING = "Server=sDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPnqi1WMNs9fE4=;"
|
|
|
|
Private Database As MSSQLServer
|
|
Private LogConfig As LogConfig
|
|
|
|
Private Viewer As GdViewer
|
|
Private Manager As AnnotationManager
|
|
Private PDFBurner As FinalizeDocument.PDFBurner
|
|
|
|
|
|
Private Sub frmFinalizePDF_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
LogConfig = New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath)
|
|
Database = New MSSQLServer(LogConfig, MSSQLServer.DecryptConnectionString(CONNECTIONSTRING))
|
|
|
|
|
|
PDFBurner = New FinalizeDocument.PDFBurner(LogConfig, "21182889975216572111813147150675976632")
|
|
|
|
Manager = New AnnotationManager()
|
|
Dim oLicense = New LicenseManager()
|
|
oLicense.RegisterKEY("21182889975216572111813147150675976632")
|
|
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 Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
Dim oDocumentPath = LoadEnvelopeDocument()
|
|
Dim oFileInfo = New FileInfo(oDocumentPath)
|
|
Dim oTable = LoadAnnotationDataForEnvelope()
|
|
Dim oJsonList = oTable.Rows.
|
|
Cast(Of DataRow).
|
|
Select(Function(r As DataRow) r.Item("VALUE").ToString()).
|
|
ToList()
|
|
|
|
Dim oBuffer As Byte() = File.ReadAllBytes(oDocumentPath)
|
|
Dim oNewBuffer = PDFBurner.BurnInstantJSONAnnotationsToPDF(oBuffer, oJsonList)
|
|
Dim oNewPath = Path.Combine(oFileInfo.Directory.FullName, $"{oFileInfo.Name}.burned.pdf")
|
|
|
|
File.WriteAllBytes(oNewPath, oNewBuffer)
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
Try
|
|
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()
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
End Class |