Merge branch 'master' of http://git.dd:3000/AppStd/EnvelopeGenerator
This commit is contained in:
commit
e4545a90d4
@ -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.",
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
'
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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=">>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>
|
||||
|
||||
2
EnvelopeGenerator.Form/frmMain.Designer.vb
generated
2
EnvelopeGenerator.Form/frmMain.Designer.vb
generated
@ -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
|
||||
'
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user