Merge branch 'master' of http://git.dd:3000/AppStd/EnvelopeGenerator
This commit is contained in:
commit
cb44e25fea
@ -13,12 +13,6 @@ Public Class EmailData
|
|||||||
Public Property SignatureLink As String
|
Public Property SignatureLink As String
|
||||||
Public Property Message 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)
|
Public Sub New(pEnvelope As Envelope, pReceiver As EnvelopeReceiver)
|
||||||
EmailAdress = pReceiver.Email
|
EmailAdress = pReceiver.Email
|
||||||
EmailSubject = pEnvelope.Subject
|
EmailSubject = pEnvelope.Subject
|
||||||
|
|||||||
@ -13,9 +13,13 @@ Public Class EmailTemplate
|
|||||||
|
|
||||||
Private _replaceDictionary As Dictionary(Of String, String)
|
Private _replaceDictionary As Dictionary(Of String, String)
|
||||||
|
|
||||||
Public Sub New()
|
Private DbConfig As DbConfig
|
||||||
|
|
||||||
|
Public Sub New(pState As State)
|
||||||
InitBodyTemplates()
|
InitBodyTemplates()
|
||||||
InitSubjectTemplates()
|
InitSubjectTemplates()
|
||||||
|
|
||||||
|
DbConfig = pState.DbConfig
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub InitSubjectTemplates()
|
Private Sub InitSubjectTemplates()
|
||||||
@ -36,16 +40,16 @@ Public Class EmailTemplate
|
|||||||
"<MESSAGE>",
|
"<MESSAGE>",
|
||||||
"",
|
"",
|
||||||
"Mit freundlichen Grüßen",
|
"Mit freundlichen Grüßen",
|
||||||
"<NAME_SENDER>"
|
"<NAME_PORTAL>"
|
||||||
}
|
}
|
||||||
|
|
||||||
_DocumentSignedBodyTemplate = New List(Of String) From {
|
_DocumentSignedBodyTemplate = New List(Of String) From {
|
||||||
"Guten Tag, <NAME_RECEIVER>",
|
"Guten Tag, <NAME_RECEIVER>",
|
||||||
"",
|
"",
|
||||||
"Ihre Unterschrift auf dem Dokument <DOCUMENT_TITLE> wurde gespeichert.",
|
"hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang <DOCUMENT_TITLE>.",
|
||||||
"",
|
"",
|
||||||
"Mit freundlichen Grüßen",
|
"Mit freundlichen Grüßen",
|
||||||
"<NAME_SENDER>"
|
"<NAME_PORTAL>"
|
||||||
}
|
}
|
||||||
|
|
||||||
_DocumentDeletedBodyTemplate = New List(Of String) From {
|
_DocumentDeletedBodyTemplate = New List(Of String) From {
|
||||||
@ -54,7 +58,7 @@ Public Class EmailTemplate
|
|||||||
"Der User <NAME_SENDER> hat den Umschlag <DOCUMENT_TITLE> gelöscht.",
|
"Der User <NAME_SENDER> hat den Umschlag <DOCUMENT_TITLE> gelöscht.",
|
||||||
"",
|
"",
|
||||||
"Mit freundlichen Grüßen",
|
"Mit freundlichen Grüßen",
|
||||||
"<NAME_SENDER>"
|
"<NAME_PORTAL>"
|
||||||
}
|
}
|
||||||
|
|
||||||
_DocumentCompletedBodyTemplate = New List(Of String) From {
|
_DocumentCompletedBodyTemplate = New List(Of String) From {
|
||||||
@ -63,7 +67,7 @@ Public Class EmailTemplate
|
|||||||
"Das Dokument <DOCUMENT_TITLE> wurde von allen Beteiligten unterschrieben.",
|
"Das Dokument <DOCUMENT_TITLE> wurde von allen Beteiligten unterschrieben.",
|
||||||
"",
|
"",
|
||||||
"Mit freundlichen Grüßen",
|
"Mit freundlichen Grüßen",
|
||||||
"<NAME_SENDER>"
|
"<NAME_PORTAL>"
|
||||||
}
|
}
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -71,6 +75,7 @@ Public Class EmailTemplate
|
|||||||
_replaceDictionary = New Dictionary(Of String, String) From {
|
_replaceDictionary = New Dictionary(Of String, String) From {
|
||||||
{"<NAME_RECEIVER>", pEmailData.ReceiverName},
|
{"<NAME_RECEIVER>", pEmailData.ReceiverName},
|
||||||
{"<NAME_SENDER>", pEmailData.SenderName},
|
{"<NAME_SENDER>", pEmailData.SenderName},
|
||||||
|
{"<NAME_PORTAL>", DbConfig.ExternalProgramName},
|
||||||
{"<SIGNATURE_TYPE>", "signieren"},
|
{"<SIGNATURE_TYPE>", "signieren"},
|
||||||
{"<LINK_TO_DOCUMENT>", pEmailData.SignatureLink},
|
{"<LINK_TO_DOCUMENT>", pEmailData.SignatureLink},
|
||||||
{"<LINK_TO_DOCUMENT_TEXT>", $"{pEmailData.SignatureLink.Truncate(40)}.."},
|
{"<LINK_TO_DOCUMENT_TEXT>", $"{pEmailData.SignatureLink.Truncate(40)}.."},
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
Imports System.Drawing
|
Imports System.Drawing
|
||||||
|
Imports System.Runtime.Serialization
|
||||||
Imports DevExpress.Utils.Svg
|
Imports DevExpress.Utils.Svg
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
Imports EnvelopeGenerator.Common.Constants
|
Imports EnvelopeGenerator.Common.Constants
|
||||||
|
Imports Newtonsoft.Json
|
||||||
|
|
||||||
Public Class EnvelopeReceiver
|
Public Class EnvelopeReceiver
|
||||||
Public Property Id As Integer = 0
|
Public Property Id As Integer = 0
|
||||||
@ -13,6 +15,7 @@ Public Class EnvelopeReceiver
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
<JsonIgnore>
|
||||||
Public ReadOnly Property Image As SvgBitmap
|
Public ReadOnly Property Image As SvgBitmap
|
||||||
Get
|
Get
|
||||||
Try
|
Try
|
||||||
|
|||||||
@ -78,6 +78,9 @@
|
|||||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|||||||
@ -15,7 +15,8 @@ Public Class CertificateDocumentJob
|
|||||||
Dim JobId = pContext.JobDetail.Key
|
Dim JobId = pContext.JobDetail.Key
|
||||||
oLogger.Info("Starting job {0}", JobId)
|
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)
|
Dim oTable = oDatabase.GetDatatable(oSql)
|
||||||
|
|
||||||
oLogger.Info("Found [{0}] completed envelopes.", oTable.Rows.Count)
|
oLogger.Info("Found [{0}] completed envelopes.", oTable.Rows.Count)
|
||||||
|
|||||||
@ -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)"
|
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)
|
Dim oCommand As New SqlCommand(oSql)
|
||||||
oCommand.Parameters.Add("EMAIL_ADRESS", SqlDbType.NVarChar).Value = pEmail.EmailAdress
|
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("EMAIL_BODY", SqlDbType.NVarChar).Value = pEmail.EmailBody
|
||||||
oCommand.Parameters.Add("ADDED_WHO", SqlDbType.NVarChar).Value = "DDEnvelopGenerator"
|
oCommand.Parameters.Add("ADDED_WHO", SqlDbType.NVarChar).Value = "DDEnvelopGenerator"
|
||||||
oCommand.Parameters.Add("SENDING_PROFILE", SqlDbType.Int).Value = State.DbConfig.SendingProfile
|
oCommand.Parameters.Add("SENDING_PROFILE", SqlDbType.Int).Value = State.DbConfig.SendingProfile
|
||||||
|
|||||||
@ -71,7 +71,7 @@ Public Class EnvelopeModel
|
|||||||
|
|
||||||
Public Function List() As IEnumerable(Of Envelope)
|
Public Function List() As IEnumerable(Of Envelope)
|
||||||
Try
|
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)
|
Dim oTable = Database.GetDatatable(oSql)
|
||||||
|
|
||||||
Return oTable?.Rows.Cast(Of DataRow).
|
Return oTable?.Rows.Cast(Of DataRow).
|
||||||
|
|||||||
@ -20,7 +20,7 @@ Public Class EmailService
|
|||||||
EnvelopeModel = New EnvelopeModel(pState)
|
EnvelopeModel = New EnvelopeModel(pState)
|
||||||
ReceiverModel = New ReceiverModel(pState)
|
ReceiverModel = New ReceiverModel(pState)
|
||||||
EmailModel = New EmailModel(pState)
|
EmailModel = New EmailModel(pState)
|
||||||
EmailTemplate = New EmailTemplate()
|
EmailTemplate = New EmailTemplate(pState)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.Extensions.Logging.Abstractions" version="2.1.1" targetFramework="net462" />
|
<package id="Microsoft.Extensions.Logging.Abstractions" version="2.1.1" targetFramework="net462" />
|
||||||
|
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
|
||||||
<package id="Quartz" version="3.8.0" targetFramework="net462" />
|
<package id="Quartz" version="3.8.0" targetFramework="net462" />
|
||||||
</packages>
|
</packages>
|
||||||
@ -17,7 +17,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
|||||||
{
|
{
|
||||||
this.database = database;
|
this.database = database;
|
||||||
this.logConfig = logging.LogConfig;
|
this.logConfig = logging.LogConfig;
|
||||||
this.logger = logging.LogConfig.GetLoggerFor(GetType().Name);
|
this.logger = logging.LogConfig.GetLogger();
|
||||||
this.state = database.State;
|
this.state = database.State;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
|||||||
envelopeService.EnsureValidEnvelopeKey(envelopeKey);
|
envelopeService.EnsureValidEnvelopeKey(envelopeKey);
|
||||||
EnvelopeResponse response = envelopeService.LoadEnvelope(envelopeKey);
|
EnvelopeResponse response = envelopeService.LoadEnvelope(envelopeKey);
|
||||||
|
|
||||||
|
logger.Debug("Loaded envelope [{0}] for receiver [{1}]", response.Envelope.Id, response.Envelope.Id);
|
||||||
return Json(response);
|
return Json(response);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -52,18 +53,6 @@ namespace EnvelopeGenerator.Web.Controllers
|
|||||||
|
|
||||||
string annotationData = await envelopeService.EnsureValidAnnotationData(Request);
|
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);
|
var signResult = actionService?.SignEnvelope(response.Envelope, response.Receiver);
|
||||||
|
|
||||||
return Ok();
|
return Ok();
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@ -42,4 +42,10 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Update="appsettings.json">
|
||||||
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -19,7 +19,11 @@ namespace EnvelopeGenerator.Web
|
|||||||
builder.Services.AddSingleton<EnvelopeService>();
|
builder.Services.AddSingleton<EnvelopeService>();
|
||||||
|
|
||||||
// Add services to the container.
|
// 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
|
// Configure and start scheduler
|
||||||
builder.Services.AddQuartz(q =>
|
builder.Services.AddQuartz(q =>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user