This commit is contained in:
PitzM 2023-12-06 16:06:21 +01:00
commit e4545a90d4
8 changed files with 74 additions and 21 deletions

View File

@ -31,7 +31,7 @@ Public Class EmailTemplate
Private Sub InitBodyTemplates()
_DocumentReceivedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>,",
"Guten Tag <NAME_RECEIVER>,",
"",
"<NAME_SENDER> hat Ihnen ein Dokument zum <SIGNATURE_TYPE> gesendet.",
"",
@ -44,7 +44,7 @@ Public Class EmailTemplate
}
_DocumentSignedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>",
"Guten Tag <NAME_RECEIVER>",
"",
"hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang <DOCUMENT_TITLE>.",
"",
@ -53,7 +53,7 @@ Public Class EmailTemplate
}
_DocumentDeletedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>",
"Guten Tag <NAME_RECEIVER>",
"",
"Der User <NAME_SENDER> hat den Umschlag <DOCUMENT_TITLE> gelöscht.",
"",
@ -62,7 +62,7 @@ Public Class EmailTemplate
}
_DocumentCompletedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>",
"Guten Tag <NAME_RECEIVER>",
"",
"Der Signaturvorgang <DOCUMENT_TITLE> wurde erfolgreich abgeschlossen.",
"Sie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser Email.",

View File

@ -47,10 +47,6 @@ Public Class ActionService
Return False
End If
For Each oReceiver As EnvelopeReceiver In pEnvelope.Receivers
EmailService.SendEnvelopeDeletedEmail(pEnvelope, oReceiver)
Next
Return True
End Function

View File

@ -221,6 +221,8 @@ Partial Public Class frmEnvelopeEditor
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
Me.RibbonControl1.ShowToolbarCustomizeItem = False
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
'
'btnSave
'

View File

@ -134,6 +134,8 @@
Me.ribbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemComboBox1, Me.RepositoryItemLookUpEdit1})
Me.ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
Me.ribbonControl1.ShowToolbarCustomizeItem = False
Me.ribbonControl1.Toolbar.ShowCustomizeItem = False
'
'BarButtonItem1
'
@ -273,6 +275,7 @@
Me.Controls.Add(Me.barDockControlRight)
Me.Controls.Add(Me.barDockControlBottom)
Me.Controls.Add(Me.barDockControlTop)
Me.IconOptions.SvgImage = CType(resources.GetObject("frmFieldEditor.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Name = "frmFieldEditor"
Me.Ribbon = Me.ribbonControl1
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).EndInit()

View File

@ -294,12 +294,12 @@
<data name="BarListItem1.Caption" xml:space="preserve">
<value>BarListItem1</value>
</data>
<data name="BarButtonItem2.Caption" xml:space="preserve">
<value>Empfänger</value>
</data>
<metadata name="PopupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>159, 17</value>
</metadata>
<data name="BarButtonItem2.Caption" xml:space="preserve">
<value>Empfänger</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
@ -329,15 +329,6 @@
<data name="ribbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="ribbonPageGroup1.Text" xml:space="preserve">
<value>Allgemein</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Empfänger</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Signaturen</value>
</data>
<data name="ribbonPage1.Text" xml:space="preserve">
<value>Start</value>
</data>
@ -369,6 +360,18 @@
<data name="&gt;&gt;ribbonControl1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="PopupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>159, 17</value>
</metadata>
<data name="ribbonPageGroup1.Text" xml:space="preserve">
<value>Allgemein</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Empfänger</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Signaturen</value>
</data>
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@ -471,6 +474,24 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1125, 658</value>
</data>
<data name="frmFieldEditor.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGgCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iRWRpdF9Db21tZW50IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3
IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMxMTc3RDc7
fQoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMywyMmgzdjZsNi02
aDMuMkwyNiwxMS4yVjdjMC0wLjYtMC40LTEtMS0xSDNDMi40LDYsMiw2LjQsMiw3djE0QzIsMjEuNiwy
LjQsMjIsMywyMnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogIDxwYXRoIGQ9Ik0yOSwxOWwtOCw4bC00LTRs
OC04TDI5LDE5eiBNMzAsMThsMS43LTEuN2MwLjQtMC40LDAuNC0xLDAtMS4zbC0yLjctMi43Yy0wLjQt
MC40LTEtMC40LTEuMywwTDI2LDE0TDMwLDE4eiAgIE0xNiwyNHY0aDRMMTYsMjR6IiBjbGFzcz0iQmx1
ZSIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>

View File

@ -272,7 +272,9 @@ Partial Class frmMain
Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
Me.RibbonControl.ShowToolbarCustomizeItem = False
Me.RibbonControl.StatusBar = Me.RibbonStatusBar
Me.RibbonControl.Toolbar.ShowCustomizeItem = False
'
'btnCreateEnvelope
'

View File

@ -53,6 +53,14 @@ 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
});
var signResult = actionService?.SignEnvelope(response.Envelope, response.Receiver);
return Ok();

View File

@ -10,6 +10,7 @@ namespace EnvelopeGenerator.Web.Services
{
private readonly ReceiverModel receiverModel;
private readonly EnvelopeModel envelopeModel;
private readonly DocumentStatusModel documentStatusModel;
public EnvelopeService(IConfiguration Config, LoggingService Logging, DatabaseService database) : base(Config, Logging)
{
@ -22,6 +23,7 @@ namespace EnvelopeGenerator.Web.Services
receiverModel = database.Models.receiverModel;
envelopeModel = database.Models.envelopeModel;
documentStatusModel = database.Models.documentStatusModel;
}
public void EnsureValidEnvelopeKey(string envelopeKey)
@ -44,30 +46,41 @@ namespace EnvelopeGenerator.Web.Services
public EnvelopeResponse LoadEnvelope(string pEnvelopeKey)
{
logger.Debug("Loading Envelope by Key [{0}]", pEnvelopeKey);
Tuple<string, string> result = Helpers.DecodeEnvelopeReceiverId(pEnvelopeKey);
var envelopeUuid = result.Item1;
var receiverSignature = result.Item2;
var receiverId = receiverModel.GetReceiverIdBySignature(receiverSignature);
Envelope? envelope = envelopeModel.GetByUuid(envelopeUuid);
Envelope? envelope = envelopeModel.GetByUuid(envelopeUuid);
if (envelope == null)
{
logger.Warn("Envelope not found");
throw new NullReferenceException("Envelope not found");
}
logger.Debug("Envelope loaded");
if (envelope.Receivers == null)
{
logger.Warn("Receivers for envelope not loaded");
throw new NullReferenceException("Receivers for envelope not loaded");
}
logger.Debug("Envelope receivers found: [{0}]", envelope.Receivers.Count);
EnvelopeReceiver? receiver = envelope.Receivers.Where(r => r.Id == receiverId).SingleOrDefault();
if (receiver == null)
{
logger.Warn("Receiver not found");
throw new NullReferenceException("Receiver not found");
}
logger.Debug("Loading documents for receiver [{0}]", receiver.Email);
envelope.Documents = FilterElementsByReceiver(envelope, receiverId);
return new()
@ -104,6 +117,8 @@ namespace EnvelopeGenerator.Web.Services
await request.BodyReader.CopyToAsync(ms);
var bytes = ms.ToArray();
logger.Debug("Annotation data parsed, size: [{0}]", bytes.Length);
return Encoding.UTF8.GetString(bytes);
}
catch (Exception e)
@ -155,6 +170,12 @@ namespace EnvelopeGenerator.Web.Services
return document;
}
public bool InsertDocumentStatus(Common.DocumentStatus documentStatus)
{
logger.Debug("Saving annotation data..");
return documentStatusModel.InsertOrUpdate(documentStatus);
}
public async Task<byte[]> GetDocumentContents(EnvelopeDocument document)
{
logger.Debug("Loading file [{0}]", document.Filepath);