diff --git a/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor b/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor
index a33ed909..cd5bc717 100644
--- a/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor
+++ b/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor
@@ -82,6 +82,25 @@
}
+
+
+
Bitte geben Sie die folgenden Angaben ein. Das Datum wird automatisch hinzugefuegt.
+
+
+
@if(!string.IsNullOrWhiteSpace(PopupValidationMessage)) {
@PopupValidationMessage
}
@@ -125,6 +144,9 @@
string ActiveSignatureTab = SignatureTabDraw;
string TypedSignatureText = string.Empty;
string TypedSignatureFont = "'Brush Script MT', cursive";
+ string SignerFullName = string.Empty;
+ string SignerPosition = string.Empty;
+ string SignaturePlace = string.Empty;
int ViewerKey;
protected override async Task OnInitializedAsync() {
@@ -195,6 +217,16 @@
}
async Task ApplySignatureAsync() {
+ if(string.IsNullOrWhiteSpace(SignerFullName)) {
+ PopupValidationMessage = "Bitte geben Sie Vor- und Nachname ein.";
+ return;
+ }
+
+ if(string.IsNullOrWhiteSpace(SignaturePlace)) {
+ PopupValidationMessage = "Bitte geben Sie den Ort ein.";
+ return;
+ }
+
var signatureDataUrl = await GetActiveSignatureDataUrlAsync();
if(string.IsNullOrWhiteSpace(signatureDataUrl)) {
@@ -204,7 +236,7 @@
PopupValidationMessage = null;
SignatureValidationMessage = null;
- Report = CreateSignedReportInstance(signatureDataUrl);
+ Report = CreateSignedReportInstance(signatureDataUrl, SignerFullName.Trim(), SignerPosition.Trim(), SignaturePlace.Trim());
SignatureApplied = true;
SignaturePopupVisible = false;
ViewerKey++;
@@ -242,13 +274,13 @@
: PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
}
- XtraReport CreateSignedReportInstance(string signatureDataUrl) {
+ XtraReport CreateSignedReportInstance(string signatureDataUrl, string signerFullName, string signerPosition, string signaturePlace) {
var report = CreateReportInstance();
- AddSignature(report, signatureDataUrl);
+ AddSignature(report, signatureDataUrl, signerFullName, signerPosition, signaturePlace);
return report;
}
- static void AddSignature(XtraReport report, string signatureDataUrl) {
+ static void AddSignature(XtraReport report, string signatureDataUrl, string signerFullName, string signerPosition, string signaturePlace) {
var imageBytes = Convert.FromBase64String(signatureDataUrl[(signatureDataUrl.IndexOf(',') + 1)..]);
using var imageStream = new MemoryStream(imageBytes);
var imageSource = new ImageSource(DXImage.FromStream(imageStream));
@@ -259,13 +291,17 @@
report.Bands.Add(bottomMargin);
}
- bottomMargin.HeightF = Math.Max(bottomMargin.HeightF, 120F);
+ bottomMargin.HeightF = Math.Max(bottomMargin.HeightF, 140F);
RemoveExistingSignature(bottomMargin);
+ var signatureInformation = string.IsNullOrWhiteSpace(signerPosition)
+ ? $"Empfaengerunterschrift\nName: {signerFullName}\nOrt: {signaturePlace}\nDatum: {DateTime.Now:g}"
+ : $"Empfaengerunterschrift\nName: {signerFullName}\nPosition: {signerPosition}\nOrt: {signaturePlace}\nDatum: {DateTime.Now:g}";
+
var signatureLabel = new XRLabel {
Name = "receiverSignatureLabel",
- Text = $"Empfaengerunterschrift - {DateTime.Now:g}",
- BoundsF = new RectangleF(390F, 6F, 230F, 18F),
+ Text = signatureInformation,
+ BoundsF = new RectangleF(390F, 6F, 230F, 48F),
Font = new DXFont("Open Sans", 8F, DXFontStyle.Bold),
ForeColor = System.Drawing.Color.FromArgb(73, 80, 87),
TextAlignment = TextAlignment.MiddleLeft
@@ -274,7 +310,7 @@
var signature = new XRPictureBox {
Name = "receiverSignatureImage",
ImageSource = imageSource,
- BoundsF = new RectangleF(390F, 28F, 230F, 70F),
+ BoundsF = new RectangleF(390F, 58F, 230F, 70F),
Sizing = ImageSizeMode.ZoomImage,
Borders = BorderSide.Bottom,
BorderColor = System.Drawing.Color.FromArgb(73, 80, 87)