From 55b28653875482bfb38a6ef051cfe1a3ad4da1ce Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 4 Dec 2023 12:43:29 +0100 Subject: [PATCH 1/5] fix double subject --- EnvelopeGenerator.Common/Entities/EmailData.vb | 6 ------ EnvelopeGenerator.Common/Models/EmailModel.vb | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/EnvelopeGenerator.Common/Entities/EmailData.vb b/EnvelopeGenerator.Common/Entities/EmailData.vb index b94b69d7..333056fd 100644 --- a/EnvelopeGenerator.Common/Entities/EmailData.vb +++ b/EnvelopeGenerator.Common/Entities/EmailData.vb @@ -13,12 +13,6 @@ Public Class EmailData Public Property SignatureLink As String Public Property Message As String - Public ReadOnly Property EmailSubjectTranslated - Get - Return String.Format(My.Resources.Email.Sie_haben_ein_Dokument_zur_Unterschrift_erhalten___0_, EmailSubject) - End Get - End Property - Public Sub New(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) EmailAdress = pReceiver.Email EmailSubject = pEnvelope.Subject diff --git a/EnvelopeGenerator.Common/Models/EmailModel.vb b/EnvelopeGenerator.Common/Models/EmailModel.vb index 6dbd70fe..2ecf7550 100644 --- a/EnvelopeGenerator.Common/Models/EmailModel.vb +++ b/EnvelopeGenerator.Common/Models/EmailModel.vb @@ -16,7 +16,7 @@ Public Class EmailModel oSql += " VALUES (@EMAIL_ADRESS, @EMAIL_SUBJ, @EMAIL_BODY, @ADDED_WHO, @SENDING_PROFILE, @REFERENCE_ID, @REFERENCE_STRING, @REMINDER_TYPE_ID, @WF_ID)" Dim oCommand As New SqlCommand(oSql) oCommand.Parameters.Add("EMAIL_ADRESS", SqlDbType.NVarChar).Value = pEmail.EmailAdress - oCommand.Parameters.Add("EMAIL_SUBJ", SqlDbType.NVarChar).Value = pEmail.EmailSubjectTranslated + oCommand.Parameters.Add("EMAIL_SUBJ", SqlDbType.NVarChar).Value = pEmail.EmailSubject oCommand.Parameters.Add("EMAIL_BODY", SqlDbType.NVarChar).Value = pEmail.EmailBody oCommand.Parameters.Add("ADDED_WHO", SqlDbType.NVarChar).Value = "DDEnvelopGenerator" oCommand.Parameters.Add("SENDING_PROFILE", SqlDbType.Int).Value = State.DbConfig.SendingProfile From d966e88583ef98b9be1af9f2e27b424c56ed8c37 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 4 Dec 2023 13:56:00 +0100 Subject: [PATCH 2/5] format --- EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj | 2 +- EnvelopeGenerator.Web/wwwroot/js/network.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj index 2e3f85ed..f0e1279a 100644 --- a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj +++ b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 enable enable diff --git a/EnvelopeGenerator.Web/wwwroot/js/network.js b/EnvelopeGenerator.Web/wwwroot/js/network.js index a98ca049..d83e6668 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/network.js +++ b/EnvelopeGenerator.Web/wwwroot/js/network.js @@ -44,7 +44,7 @@ body: JSON.stringify({}), } - console.debug('OpenDocument/Calling url: ' + url) + console.debug('OpenDocument/Calling url: ' + url) return fetch(url, this.withCSRFToken(options)) .then(this.handleResponse) .then((res) => { From 562935e07ec7d3c1fb513680b1fde947aad79ad1 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 4 Dec 2023 15:29:58 +0100 Subject: [PATCH 3/5] prepare Web project for deployment --- EnvelopeGenerator.Web/Controllers/BaseController.cs | 2 +- .../Controllers/EnvelopeController.cs | 13 +------------ EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj | 6 ++++++ EnvelopeGenerator.Web/Program.cs | 6 +++++- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/EnvelopeGenerator.Web/Controllers/BaseController.cs b/EnvelopeGenerator.Web/Controllers/BaseController.cs index 23caa188..5a88e0c0 100644 --- a/EnvelopeGenerator.Web/Controllers/BaseController.cs +++ b/EnvelopeGenerator.Web/Controllers/BaseController.cs @@ -17,7 +17,7 @@ namespace EnvelopeGenerator.Web.Controllers { this.database = database; this.logConfig = logging.LogConfig; - this.logger = logging.LogConfig.GetLoggerFor(GetType().Name); + this.logger = logging.LogConfig.GetLogger(); this.state = database.State; } diff --git a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs index 0edd5332..0b73362a 100644 --- a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs +++ b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs @@ -27,6 +27,7 @@ namespace EnvelopeGenerator.Web.Controllers envelopeService.EnsureValidEnvelopeKey(envelopeKey); EnvelopeResponse response = envelopeService.LoadEnvelope(envelopeKey); + logger.Debug("Loaded envelope [{0}] for receiver [{1}]", response.Envelope.Id, response.Envelope.Id); return Json(response); } catch (Exception e) @@ -52,18 +53,6 @@ namespace EnvelopeGenerator.Web.Controllers string annotationData = await envelopeService.EnsureValidAnnotationData(Request); - //envelopeService.InsertDocumentStatus(new DocumentStatus() - //{ - // EnvelopeId = response.Envelope.Id, - // ReceiverId = response.Receiver.Id, - // Value = annotationData, - // Status = Common.Constants.DocumentStatus.Signed - //}); - - //envelopeService.InsertHistoryEntrySigned(response); - - //emailService.SendSignedEmail(response.Receiver.Id, response.Envelope.Id); - var signResult = actionService?.SignEnvelope(response.Envelope, response.Receiver); return Ok(); diff --git a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj index f0e1279a..e0250ce0 100644 --- a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj +++ b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj @@ -42,4 +42,10 @@ + + + Never + + + diff --git a/EnvelopeGenerator.Web/Program.cs b/EnvelopeGenerator.Web/Program.cs index 427eb42e..5f357f33 100644 --- a/EnvelopeGenerator.Web/Program.cs +++ b/EnvelopeGenerator.Web/Program.cs @@ -19,7 +19,11 @@ namespace EnvelopeGenerator.Web builder.Services.AddSingleton(); // Add services to the container. - builder.Services.AddControllersWithViews(); + builder.Services.AddControllersWithViews().AddJsonOptions(q => + { + // Prevents serialization error when serializing SvgBitmap in EnvelopeReceiver + q.JsonSerializerOptions.ReferenceHandler = System.Text.Json.Serialization.ReferenceHandler.IgnoreCycles; + }); // Configure and start scheduler builder.Services.AddQuartz(q => From 15e163bd60866d3b7e707c9af53eda583b4f943c Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 4 Dec 2023 15:30:35 +0100 Subject: [PATCH 4/5] small fixes --- .../Entities/EmailTemplate.vb | 17 +++++++++++------ .../Entities/EnvelopeReceiver.vb | 3 +++ .../EnvelopeGenerator.Common.vbproj | 3 +++ .../Jobs/CertificateDocumentJob.vb | 3 ++- .../Services/EmailService.vb | 2 +- EnvelopeGenerator.Common/packages.config | 1 + 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/EnvelopeGenerator.Common/Entities/EmailTemplate.vb b/EnvelopeGenerator.Common/Entities/EmailTemplate.vb index b2b9518f..b0eabe8e 100644 --- a/EnvelopeGenerator.Common/Entities/EmailTemplate.vb +++ b/EnvelopeGenerator.Common/Entities/EmailTemplate.vb @@ -13,9 +13,13 @@ Public Class EmailTemplate Private _replaceDictionary As Dictionary(Of String, String) - Public Sub New() + Private DbConfig As DbConfig + + Public Sub New(pState As State) InitBodyTemplates() InitSubjectTemplates() + + DbConfig = pState.DbConfig End Sub Private Sub InitSubjectTemplates() @@ -36,16 +40,16 @@ Public Class EmailTemplate "", "", "Mit freundlichen Grüßen", - "" + "" } _DocumentSignedBodyTemplate = New List(Of String) From { "Guten Tag, ", "", - "Ihre Unterschrift auf dem Dokument wurde gespeichert.", + "hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang .", "", "Mit freundlichen Grüßen", - "" + "" } _DocumentDeletedBodyTemplate = New List(Of String) From { @@ -54,7 +58,7 @@ Public Class EmailTemplate "Der User hat den Umschlag gelöscht.", "", "Mit freundlichen Grüßen", - "" + "" } _DocumentCompletedBodyTemplate = New List(Of String) From { @@ -63,7 +67,7 @@ Public Class EmailTemplate "Das Dokument wurde von allen Beteiligten unterschrieben.", "", "Mit freundlichen Grüßen", - "" + "" } End Sub @@ -71,6 +75,7 @@ Public Class EmailTemplate _replaceDictionary = New Dictionary(Of String, String) From { {"", pEmailData.ReceiverName}, {"", pEmailData.SenderName}, + {"", DbConfig.ExternalProgramName}, {"", "signieren"}, {"", pEmailData.SignatureLink}, {"", $"{pEmailData.SignatureLink.Truncate(40)}.."}, diff --git a/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb b/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb index c4293343..cdbc53b8 100644 --- a/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb +++ b/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb @@ -1,7 +1,9 @@ Imports System.Drawing +Imports System.Runtime.Serialization Imports DevExpress.Utils.Svg Imports DigitalData.Modules.Base Imports EnvelopeGenerator.Common.Constants +Imports Newtonsoft.Json Public Class EnvelopeReceiver Public Property Id As Integer = 0 @@ -13,6 +15,7 @@ Public Class EnvelopeReceiver End Get End Property + Public ReadOnly Property Image As SvgBitmap Get Try diff --git a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj index 442d5ff3..59558586 100644 --- a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj +++ b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj @@ -78,6 +78,9 @@ ..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + ..\packages\NLog.5.0.5\lib\net46\NLog.dll diff --git a/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb b/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb index 3f36a768..8f07c9a8 100644 --- a/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb +++ b/EnvelopeGenerator.Common/Jobs/CertificateDocumentJob.vb @@ -15,7 +15,8 @@ Public Class CertificateDocumentJob Dim JobId = pContext.JobDetail.Key oLogger.Info("Starting job {0}", JobId) - Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {Constants.EnvelopeStatus.EnvelopeCompletelySigned}" + Dim oCompleteStatus As Integer = Constants.EnvelopeStatus.EnvelopeCompletelySigned + Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus}" Dim oTable = oDatabase.GetDatatable(oSql) oLogger.Info("Found [{0}] completed envelopes.", oTable.Rows.Count) diff --git a/EnvelopeGenerator.Common/Services/EmailService.vb b/EnvelopeGenerator.Common/Services/EmailService.vb index cbc26758..46cc95c2 100644 --- a/EnvelopeGenerator.Common/Services/EmailService.vb +++ b/EnvelopeGenerator.Common/Services/EmailService.vb @@ -20,7 +20,7 @@ Public Class EmailService EnvelopeModel = New EnvelopeModel(pState) ReceiverModel = New ReceiverModel(pState) EmailModel = New EmailModel(pState) - EmailTemplate = New EmailTemplate() + EmailTemplate = New EmailTemplate(pState) End Sub Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean diff --git a/EnvelopeGenerator.Common/packages.config b/EnvelopeGenerator.Common/packages.config index ce073819..7c9e9f71 100644 --- a/EnvelopeGenerator.Common/packages.config +++ b/EnvelopeGenerator.Common/packages.config @@ -1,5 +1,6 @@  + \ No newline at end of file From 6971a5d6415399377f5c191dbec4fd87ea7c12ff Mon Sep 17 00:00:00 2001 From: SchreiberM Date: Mon, 4 Dec 2023 15:40:10 +0100 Subject: [PATCH 5/5] =?UTF-8?q?MS=20Envelope=20Model=20Procedure=20f=C3=BC?= =?UTF-8?q?r=20Userauswahl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Common/Models/EnvelopeModel.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EnvelopeGenerator.Common/Models/EnvelopeModel.vb b/EnvelopeGenerator.Common/Models/EnvelopeModel.vb index e9fbcb90..9ac106f8 100644 --- a/EnvelopeGenerator.Common/Models/EnvelopeModel.vb +++ b/EnvelopeGenerator.Common/Models/EnvelopeModel.vb @@ -71,7 +71,7 @@ Public Class EnvelopeModel Public Function List() As IEnumerable(Of Envelope) Try - Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = {State.UserId} AND STATUS IN (1001,1002,1003,1004,1005)" + Dim oSql = $"EXEC PRSIG_GET_ENVELOPES_FOR_USER {State.UserId}" Dim oTable = Database.GetDatatable(oSql) Return oTable?.Rows.Cast(Of DataRow).