diff --git a/EnvelopeGenerator.Common/Constants.vb b/EnvelopeGenerator.Common/Constants.vb
index d6c09439..748b4723 100644
--- a/EnvelopeGenerator.Common/Constants.vb
+++ b/EnvelopeGenerator.Common/Constants.vb
@@ -77,7 +77,8 @@
End Enum
Public Enum CertificationType
- ElectronicSignature = 1
+ AdvancedElectronicSignature = 1
+ 'ElectronicSignature = 1
'QualifiedSignature = 2
End Enum
@@ -109,7 +110,6 @@
DocumentForwarded
DocumentShared
End Enum
-
#End Region
#Region "Constants"
diff --git a/EnvelopeGenerator.Common/Entities/DbConfig.vb b/EnvelopeGenerator.Common/Entities/DbConfig.vb
index a59b7fe2..a1326b04 100644
--- a/EnvelopeGenerator.Common/Entities/DbConfig.vb
+++ b/EnvelopeGenerator.Common/Entities/DbConfig.vb
@@ -5,4 +5,5 @@
Public Property ExportPath As String = ""
Public Property SendingProfile As Integer = 0
Public Property SignatureHost As String = ""
+ Public Property Default_TFA_Enabled As Boolean = False
End Class
diff --git a/EnvelopeGenerator.Common/Entities/Envelope.vb b/EnvelopeGenerator.Common/Entities/Envelope.vb
index 768563cf..1c3ef131 100644
--- a/EnvelopeGenerator.Common/Entities/Envelope.vb
+++ b/EnvelopeGenerator.Common/Entities/Envelope.vb
@@ -8,8 +8,8 @@
Public Property Uuid As String = Guid.NewGuid.ToString()
Public Property UseAccessCode As Boolean = False
Public Property Language As String = "de-DE"
- Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.ElectronicSignature
-
+ Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.AdvancedElectronicSignature
+ Public Property TFA_Enabled As Boolean = False
Public Property SendReminderEmails As Boolean = False
Public Property FirstReminderDays As Integer = 0
Public Property ReminderIntervalDays As Integer = 0
diff --git a/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb b/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb
index 8481994a..69cc8aa7 100644
--- a/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb
+++ b/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb
@@ -75,6 +75,7 @@ Public Class EnvelopeReceiver
Public Property Sequence As Integer = 0
Public Property PrivateMessage As String = ""
Public Property AccessCode As String = ""
+ Public Property PhoneNumber As String = ""
Public Function GetSignature() As String
Return StringEx.GetChecksum(Email.ToUpper)
diff --git a/EnvelopeGenerator.Common/Entities/EnvelopeType.vb b/EnvelopeGenerator.Common/Entities/EnvelopeType.vb
index bd3b5bf0..1c0f2024 100644
--- a/EnvelopeGenerator.Common/Entities/EnvelopeType.vb
+++ b/EnvelopeGenerator.Common/Entities/EnvelopeType.vb
@@ -6,7 +6,8 @@
Public Property ContractType As Integer ' Unbenutzt
Public Property Language As String
- Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.ElectronicSignature
+ Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.AdvancedElectronicSignature
+ Public Property TFA_Enabled As Boolean = False
Public Property SendReminderEmails As Boolean = False
Public Property FirstReminderDays As Integer = 0
Public Property ReminderIntervalDays As Integer = 0
diff --git a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
index 152c9659..c6e38ce7 100644
--- a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
+++ b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
@@ -77,8 +77,8 @@
..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll
-
- ..\packages\GdPicture.14.2.89\lib\net462\GdPicture.NET.14.dll
+
+ ..\packages\GdPicture.14.2.90\lib\net462\GdPicture.NET.14.dll
@@ -291,11 +291,11 @@
-
+
Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".
-
+
\ No newline at end of file
diff --git a/EnvelopeGenerator.Common/Models/ConfigModel.vb b/EnvelopeGenerator.Common/Models/ConfigModel.vb
index dffa8036..6fc583ae 100644
--- a/EnvelopeGenerator.Common/Models/ConfigModel.vb
+++ b/EnvelopeGenerator.Common/Models/ConfigModel.vb
@@ -21,7 +21,8 @@ Public Class ConfigModel
.ExportPath = oRow.ItemEx("EXPORT_PATH", ""),
.SendingProfile = oRow.ItemEx("SENDING_PROFILE", 0),
.SignatureHost = oRow.ItemEx("SIGNATURE_HOST", ""),
- .ExternalProgramName = oRow.ItemEx("EXTERNAL_PROGRAM_NAME", "")
+ .ExternalProgramName = oRow.ItemEx("EXTERNAL_PROGRAM_NAME", ""),
+ .Default_TFA_Enabled = oRow.ItemEx("DEF_TFA_ENABLED", False)
}
Catch ex As Exception
Logger.Error(ex)
diff --git a/EnvelopeGenerator.Common/Models/EnvelopeModel.vb b/EnvelopeGenerator.Common/Models/EnvelopeModel.vb
index 96bd1648..1c6da7ed 100644
--- a/EnvelopeGenerator.Common/Models/EnvelopeModel.vb
+++ b/EnvelopeGenerator.Common/Models/EnvelopeModel.vb
@@ -2,6 +2,7 @@
Imports System.Web.UI.WebControls
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Logging
+Imports EnvelopeGenerator.Common.Constants
Public Class EnvelopeModel
Inherits BaseModel
@@ -34,7 +35,7 @@ Public Class EnvelopeModel
.Language = pRow.ItemEx("LANGUAGE", "de-DE"),
.Status = ObjectEx.ToEnum(Of Constants.EnvelopeStatus)(pRow.ItemEx("STATUS", Constants.EnvelopeStatus.EnvelopeCreated.ToString())),
.AddedWhen = pRow.Item("ADDED_WHEN"),
- .CertificationType = ObjectEx.ToEnum(Of Constants.CertificationType)(pRow.ItemEx("CERTIFICATION_TYPE", Constants.CertificationType.ElectronicSignature.ToString())),
+ .CertificationType = ObjectEx.ToEnum(Of Constants.CertificationType)(pRow.ItemEx("CERTIFICATION_TYPE", Constants.CertificationType.AdvancedElectronicSignature.ToString())),
.User = New User(),
.ExpiresWhen = pRow.ItemEx(Of Date)("EXPIRES_WHEN", Nothing),
.ExpiresWarningWhen = pRow.ItemEx(Of Date)("EXPIRES_WARNING_WHEN", Nothing),
@@ -45,7 +46,8 @@ Public Class EnvelopeModel
.ReminderIntervalDays = pRow.ItemEx("REMINDER_INTERVAL_DAYS", 0),
.UseAccessCode = pRow.ItemEx("USE_ACCESS_CODE", False),
.FinalEmailToCreator = ObjectEx.ToEnum(Of Constants.FinalEmailType)(pRow.ItemEx("FINAL_EMAIL_TO_CREATOR", Constants.FinalEmailType.No.ToString())),
- .FinalEmailToReceivers = ObjectEx.ToEnum(Of Constants.FinalEmailType)(pRow.ItemEx("FINAL_EMAIL_TO_RECEIVERS", Constants.FinalEmailType.No.ToString()))
+ .FinalEmailToReceivers = ObjectEx.ToEnum(Of Constants.FinalEmailType)(pRow.ItemEx("FINAL_EMAIL_TO_RECEIVERS", Constants.FinalEmailType.No.ToString())),
+ .TFA_Enabled = pRow.ItemEx("TFA_Enabled", False)
}
Dim oDOC_RESULT = pRow.Item("DOC_RESULT")
If Not IsDBNull(oDOC_RESULT) Then
@@ -142,13 +144,17 @@ Public Class EnvelopeModel
Public Function Insert(pEnvelope As Envelope) As Boolean
Try
- Dim oSql = "INSERT INTO [dbo].[TBSIG_ENVELOPE] (MESSAGE, ENVELOPE_UUID, STATUS, USER_ID) "
- oSql += " VALUES (@MESSAGE, @UUID, @STATUS, @USER_ID)"
+ Dim oSql = $"INSERT INTO [dbo].[TBSIG_ENVELOPE] (MESSAGE, ENVELOPE_UUID, STATUS, USER_ID)
+ VALUES('',
+ '{pEnvelope.Uuid}',
+ '{CInt([Enum].Parse(GetType(EnvelopeStatus), Constants.EnvelopeStatus.EnvelopeCreated))}',
+ '{pEnvelope.UserId}')"
Dim oCommand As New SqlCommand(oSql)
- oCommand.Parameters.Add("MESSAGE", SqlDbType.NVarChar).Value = String.Empty
- oCommand.Parameters.Add("UUID", SqlDbType.NVarChar).Value = pEnvelope.Uuid
- oCommand.Parameters.Add("STATUS", SqlDbType.Int).Value = Constants.EnvelopeStatus.EnvelopeCreated
- oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId
+ 'oCommand.Parameters.Add("MESSAGE", SqlDbType.NVarChar).Value = String.Empty
+ 'oCommand.Parameters.Add("UUID", SqlDbType.NVarChar).Value = pEnvelope.Uuid
+ 'oCommand.Parameters.Add("STATUS", SqlDbType.Int).Value = Constants.EnvelopeStatus.EnvelopeCreated
+ 'oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId
+
If Database.ExecuteNonQuery(oCommand) Then
pEnvelope.Id = GetEnvelopeId(pEnvelope)
@@ -182,9 +188,11 @@ Public Class EnvelopeModel
oSql += " [REMINDER_INTERVAL_DAYS] = @REMINDER_INTERVAL_DAYS, "
oSql += " [SEND_REMINDER_EMAILS] = @SEND_REMINDER_EMAILS, "
oSql += " [USE_ACCESS_CODE] = @USE_ACCESS_CODE, "
- oSql += " [CHANGED_WHEN] = GETDATE() "
+ oSql += " [CHANGED_WHEN] = GETDATE(), "
+ oSql += " [TFA_Enabled] = @TFA_Enabled"
oSql += " WHERE GUID = @ID AND USER_ID = @USER_ID"
+
Dim oCommand As New SqlCommand(oSql)
oCommand.Parameters.Add("ID", SqlDbType.Int).Value = pEnvelope.Id
oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId
@@ -206,7 +214,7 @@ Public Class EnvelopeModel
oCommand.Parameters.Add("REMINDER_INTERVAL_DAYS", SqlDbType.Int).Value = pEnvelope.ReminderIntervalDays
oCommand.Parameters.Add("SEND_REMINDER_EMAILS", SqlDbType.Bit).Value = pEnvelope.SendReminderEmails
oCommand.Parameters.Add("USE_ACCESS_CODE", SqlDbType.Bit).Value = pEnvelope.UseAccessCode
-
+ oCommand.Parameters.Add("TFA_ENABLED", SqlDbType.Bit).Value = pEnvelope.TFA_Enabled
Return Database.ExecuteNonQuery(oCommand, pTransaction)
Catch ex As Exception
diff --git a/EnvelopeGenerator.Common/Models/EnvelopeTypeModel.vb b/EnvelopeGenerator.Common/Models/EnvelopeTypeModel.vb
index 86bf6ee0..d00784b7 100644
--- a/EnvelopeGenerator.Common/Models/EnvelopeTypeModel.vb
+++ b/EnvelopeGenerator.Common/Models/EnvelopeTypeModel.vb
@@ -1,4 +1,5 @@
Imports DigitalData.Modules.Base
+Imports EnvelopeGenerator.Common.Constants
Public Class EnvelopeTypeModel
Inherits BaseModel
@@ -21,7 +22,8 @@ Public Class EnvelopeTypeModel
.FinalEmailToCreator = pRow.ItemEx("FINAL_EMAIL_TO_CREATOR", 0),
.FinalEmailToReceivers = pRow.ItemEx("FINAL_EMAIL_TO_RECEIVERS", 0),
.ContractType = pRow.ItemEx("CONTRACT_TYPE", 0),
- .CertificationType = pRow.ItemEx("CERTIFICATION_TYPE", 0)
+ .CertificationType = pRow.ItemEx("CERTIFICATION_TYPE", 0),
+ .TFA_Enabled = pRow.ItemEx("TFA_Enabled", 0)
}
End Function
diff --git a/EnvelopeGenerator.Common/Models/ReceiverModel.vb b/EnvelopeGenerator.Common/Models/ReceiverModel.vb
index 02e0c31b..8333d95d 100644
--- a/EnvelopeGenerator.Common/Models/ReceiverModel.vb
+++ b/EnvelopeGenerator.Common/Models/ReceiverModel.vb
@@ -33,7 +33,8 @@ Public Class ReceiverModel
.Status = ReceiverSignedStatus,
.ColorType = DirectCast(pColorIndex + 1, ColorType),
.AccessCode = pRow.ItemEx("ACCESS_CODE", ""),
- .SignedDate = SignedDate
+ .SignedDate = SignedDate,
+ .PhoneNumber = pRow.ItemEx("PHONE_NUMBER", "")
}
End Function
@@ -56,25 +57,29 @@ Public Class ReceiverModel
Public Function Insert(pReceiver As EnvelopeReceiver, pTransaction As SqlTransaction) As Boolean
Try
- Dim oSql As String = "INSERT INTO [dbo].[TBSIG_RECEIVER]
+ Dim oCheck = $"SELECT COUNT(GUID) FROM [dbo].[TBSIG_RECEIVER] WHERE SIGNATURE = '{pReceiver.GetSignature()}'"
+ Dim oExists = Database.GetScalarValue(oCheck)
+
+ If oExists = 0 Then
+ Dim oSql As String = $"INSERT INTO [dbo].[TBSIG_RECEIVER]
([EMAIL_ADDRESS]
,[SIGNATURE])
VALUES
- (@EMAIL
- ,@SIGNATURE)"
+ ('{pReceiver.Email}'
+ ,'{pReceiver.GetSignature()}')"
- Dim oCommand = New SqlCommand(oSql)
- oCommand.Parameters.Add("EMAIL", SqlDbType.NVarChar).Value = pReceiver.Email
- oCommand.Parameters.Add("SIGNATURE", SqlDbType.NVarChar).Value = pReceiver.GetSignature()
-
- Dim oResult = Database.ExecuteNonQuery(oCommand)
- If oResult = True Then
- pReceiver.Id = GetReceiverIdByEmail(pReceiver.Email, pTransaction)
+ Dim oCommand = New SqlCommand(oSql)
+ Dim oResult = Database.ExecuteNonQuery(oCommand)
+ If oResult = True Then
+ pReceiver.Id = GetReceiverIdByEmail(pReceiver.Email, pTransaction)
+ Return True
+ Else
+ Return False
+ End If
Else
- Return False
+ Logger.Warn($"Receiver [{pReceiver.Email}] already existing! Check collecting not existing Receivers!")
+ Return True
End If
-
- Return True
Catch ex As Exception
Logger.Error(ex)
Return False
@@ -83,18 +88,18 @@ Public Class ReceiverModel
Public Function Update(pReceiver As EnvelopeReceiver, pTransaction As SqlTransaction) As Boolean
Try
- Dim oSql As String = "UPDATE [dbo].[TBSIG_USER_RECEIVER]
- SET [NAME] = @NAME
- ,[COMPANY_NAME] = @COMPANY
- ,[JOB_TITLE] = @JOB
- WHERE RECEIVER_ID = @RECEIVER_ID"
+ Dim oSql As String = $"UPDATE [dbo].[TBSIG_USER_RECEIVER]
+ SET [NAME] = '{pReceiver.Name}'
+ ,[COMPANY_NAME] = '{pReceiver.Company}'
+ ,[JOB_TITLE] = '{pReceiver.JobTitle}'
+ WHERE RECEIVER_ID = {pReceiver.Id}"
Dim oCommand = New SqlCommand(oSql)
- oCommand.Parameters.Add("NAME", SqlDbType.NVarChar).Value = pReceiver.Name
- oCommand.Parameters.Add("COMPANY", SqlDbType.NVarChar).Value = pReceiver.Company
- oCommand.Parameters.Add("JOB", SqlDbType.NVarChar).Value = pReceiver.JobTitle
- oCommand.Parameters.Add("RECEIVER_ID", SqlDbType.Int).Value = pReceiver.Id
- oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pReceiver.Id
+ 'oCommand.Parameters.Add("NAME", SqlDbType.NVarChar).Value = pReceiver.Name
+ 'oCommand.Parameters.Add("COMPANY", SqlDbType.NVarChar).Value = pReceiver.Company
+ 'oCommand.Parameters.Add("JOB", SqlDbType.NVarChar).Value = pReceiver.JobTitle
+ 'oCommand.Parameters.Add("RECEIVER_ID", SqlDbType.Int).Value = pReceiver.Id
+ 'oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pReceiver.Id
Return Database.ExecuteNonQuery(oCommand, pTransaction)
Catch ex As Exception
@@ -113,7 +118,7 @@ Public Class ReceiverModel
End Function
Public Function Assign(pEnvelope As Envelope, pReceiver As EnvelopeReceiver, pTransaction As SqlTransaction) As Boolean
- Dim oSql = "INSERT INTO [dbo].[TBSIG_ENVELOPE_RECEIVER]
+ Dim oSql = $"INSERT INTO [dbo].[TBSIG_ENVELOPE_RECEIVER]
([ENVELOPE_ID]
,[RECEIVER_ID]
,[PRIVATE_MESSAGE]
@@ -121,26 +126,28 @@ Public Class ReceiverModel
,[NAME]
,[JOB_TITLE]
,[COMPANY_NAME]
- ,[SEQUENCE])
+ ,[SEQUENCE]
+ ,[PHONE_NUMBER])
VALUES
- (@ENVELOPE_ID
- ,@RECEIVER_ID
- ,@MESSAGE
- ,@ACCESS_CODE
- ,@NAME
- ,@JOB
- ,@COMPANY
- ,@SEQUENCE)"
+ ('{pEnvelope.Id}'
+ ,'{pReceiver.Id}'
+ ,'{pReceiver.PrivateMessage}'
+ ,'{pReceiver.AccessCode}'
+ ,'{pReceiver.Name}'
+ ,'{pReceiver.JobTitle}'
+ ,'{pReceiver.Company}'
+ ,'{pReceiver.Sequence}'
+ ,'{pReceiver.PhoneNumber}')"
Dim oCommand As New SqlCommand(oSql)
- oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.NVarChar).Value = pEnvelope.Id
- oCommand.Parameters.Add("RECEIVER_ID", SqlDbType.NVarChar).Value = pReceiver.Id
- oCommand.Parameters.Add("MESSAGE", SqlDbType.NVarChar).Value = pReceiver.PrivateMessage
- oCommand.Parameters.Add("ACCESS_CODE", SqlDbType.NVarChar).Value = pReceiver.AccessCode
- oCommand.Parameters.Add("NAME", SqlDbType.NVarChar).Value = pReceiver.Name
- oCommand.Parameters.Add("JOB", SqlDbType.NVarChar).Value = pReceiver.JobTitle
- oCommand.Parameters.Add("COMPANY", SqlDbType.NVarChar).Value = pReceiver.Company
- oCommand.Parameters.Add("SEQUENCE", SqlDbType.NVarChar).Value = pReceiver.Sequence
+ 'oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.NVarChar).Value = pEnvelope.Id
+ 'oCommand.Parameters.Add("RECEIVER_ID", SqlDbType.NVarChar).Value = pReceiver.Id
+ 'oCommand.Parameters.Add("MESSAGE", SqlDbType.NVarChar).Value = pReceiver.PrivateMessage
+ 'oCommand.Parameters.Add("ACCESS_CODE", SqlDbType.NVarChar).Value = pReceiver.AccessCode
+ 'oCommand.Parameters.Add("NAME", SqlDbType.NVarChar).Value = pReceiver.Name
+ 'oCommand.Parameters.Add("JOB", SqlDbType.NVarChar).Value = pReceiver.JobTitle
+ 'oCommand.Parameters.Add("COMPANY", SqlDbType.NVarChar).Value = pReceiver.Company
+ 'oCommand.Parameters.Add("SEQUENCE", SqlDbType.NVarChar).Value = pReceiver.Sequence
Return Database.ExecuteNonQuery(oCommand, pTransaction)
End Function
@@ -266,6 +273,22 @@ Public Class ReceiverModel
Return String.Empty
End Try
End Function
+ Public Function GetLastUsedReceiverPhone(pEmailAddress As String, pUserId As Integer) As String
+ Try
+ Dim oSql As String
+ oSql = "SELECT TOP 1 [PHONE_NUMBER] FROM dbo.VWSIG_ENVELOPE_RECEIVERS "
+ oSql += $" WHERE ENV_USERID_CREATED = {pUserId}) "
+ oSql += $" AND EMAIL_ADDRESS = '{pEmailAddress}' "
+ oSql += " AND Len([PHONE_NUMBER]) > 0 "
+ oSql += " ORDER BY [ADDED_WHEN] DESC"
+
+ Return Database.GetScalarValue(oSql)
+
+ Catch ex As Exception
+ Logger.Error(ex)
+ Return String.Empty
+ End Try
+ End Function
Private Function GetReceiverIdByEmail(pEmailAddress As String, pTransaction As SqlTransaction) As Integer
Try
diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb
index 98768762..b147204a 100644
--- a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb
+++ b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' indem Sie "*" wie unten gezeigt eingeben:
'
-
-
+
+
diff --git a/EnvelopeGenerator.Common/Strings/Envelope.en.resx b/EnvelopeGenerator.Common/Strings/Envelope.en.resx
index 97de2fe9..9cc5735f 100644
--- a/EnvelopeGenerator.Common/Strings/Envelope.en.resx
+++ b/EnvelopeGenerator.Common/Strings/Envelope.en.resx
@@ -117,6 +117,9 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Please select the PDF documents you would like to link/concat:
+
Do you really want to delete this envelope?
@@ -141,6 +144,12 @@
Document forwarded to receiver: {0}
+
+ Currently, only one PDF file is permitted via drag and drop.
+
+
+
+
Edit Envelope
@@ -171,6 +180,9 @@
The email [ @Mail ] could not be varified!
+
+
+
Error sending the envelope:
@@ -193,7 +205,7 @@
Receiver {0} has an invalid Email Address.
- Invitation has been send once again!
+ Invitation to [@Mail] has been send once again!
Missing Documents
diff --git a/EnvelopeGenerator.Common/Strings/Envelope.resx b/EnvelopeGenerator.Common/Strings/Envelope.resx
index f2ec900a..fede34e9 100644
--- a/EnvelopeGenerator.Common/Strings/Envelope.resx
+++ b/EnvelopeGenerator.Common/Strings/Envelope.resx
@@ -117,6 +117,9 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Bitte wählen Sie die PDF-Dokumente die Sie verketten möchten:
+
Wollen Sie diesen Umschlag wirklich löschen?
@@ -141,6 +144,9 @@
Umschlag an Empfänger {0} weitergeleitet.
+
+ Aktuell ist per Drag and Drop nur eine PDF-Datei erlaubt.
+
Bearbeite Umschlag
@@ -171,6 +177,10 @@
Die Email-Adresse [ @Mail ] konnte nicht validiert werden!
+
+ The mobile phone number [@PhoneNr] could not be validated.
+Pattern: +491234567890
+
Fehler beim Senden des Umschlags:
@@ -193,7 +203,7 @@
Empfänger {0} hat keine gültige Email Addresse.
- Die Einladung wurde nochmal versendet!
+ Die Einladung an [@Mail] wurde nochmal versendet!
Fehlendes Dokument
diff --git a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb
index d2679585..368e548a 100644
--- a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb
+++ b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb
@@ -64,6 +64,15 @@ Namespace My.Resources
End Set
End Property
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Bitte wählen Sie die PDF-Dokumente die Sie verketten möchten: ähnelt.
+ '''
+ Public Shared ReadOnly Property Dialog_Concat_PDF() As String
+ Get
+ Return ResourceManager.GetString("Dialog Concat PDF", resourceCulture)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Zeichenfolge, die Wollen Sie diesen Umschlag wirklich löschen? ähnelt.
'''
@@ -136,6 +145,15 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Aktuell ist per Drag and Drop nur eine PDF-Datei erlaubt. ähnelt.
+ '''
+ Public Shared ReadOnly Property Drop_only_one_file() As String
+ Get
+ Return ResourceManager.GetString("Drop only one file", resourceCulture)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Zeichenfolge, die Bearbeite Umschlag ähnelt.
'''
@@ -226,6 +244,16 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die The mobile phone number [@PhoneNr] could not be validated.
+ '''Pattern: +491234567890 ähnelt.
+ '''
+ Public Shared ReadOnly Property Error_phone_Validation() As String
+ Get
+ Return ResourceManager.GetString("Error phone Validation", resourceCulture)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Zeichenfolge, die Fehler beim Senden des Umschlags: ähnelt.
'''
@@ -290,7 +318,7 @@ Namespace My.Resources
End Property
'''
- ''' Sucht eine lokalisierte Zeichenfolge, die Die Einladung wurde nochmal versendet! ähnelt.
+ ''' Sucht eine lokalisierte Zeichenfolge, die Die Einladung an [@Mail] wurde nochmal versendet! ähnelt.
'''
Public Shared ReadOnly Property Invitation_successfully_resend() As String
Get
diff --git a/EnvelopeGenerator.Common/Strings/Model.Designer.vb b/EnvelopeGenerator.Common/Strings/Model.Designer.vb
index 79ce0250..9c5bcf5d 100644
--- a/EnvelopeGenerator.Common/Strings/Model.Designer.vb
+++ b/EnvelopeGenerator.Common/Strings/Model.Designer.vb
@@ -91,6 +91,15 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Fortgeschrittene Elektronische Signatur ähnelt.
+ '''
+ Public Shared ReadOnly Property AdvancedElectronicSignature() As String
+ Get
+ Return ResourceManager.GetString("AdvancedElectronicSignature", resourceCulture)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Zeichenfolge, die Abgeschlossen ähnelt.
'''
@@ -154,15 +163,6 @@ Namespace My.Resources
End Get
End Property
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Elektronische Signatur ähnelt.
- '''
- Public Shared ReadOnly Property ElectronicSignature() As String
- Get
- Return ResourceManager.GetString("ElectronicSignature", resourceCulture)
- End Get
- End Property
-
'''
''' Sucht eine lokalisierte Zeichenfolge, die Archiviert ähnelt.
'''
@@ -306,16 +306,16 @@ Namespace My.Resources
Return ResourceManager.GetString("PartlySigned", resourceCulture)
End Get
End Property
-
- ''''
- '''' Sucht eine lokalisierte Zeichenfolge, die Qualifizierte Signatur ähnelt.
- ''''
- 'Public Shared ReadOnly Property QualifiedSignature() As String
- ' Get
- ' Return ResourceManager.GetString("QualifiedSignature", resourceCulture)
- ' End Get
- 'End Property
-
+
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Qualifizierte Signatur ähnelt.
+ '''
+ Public Shared ReadOnly Property QualifiedSignature() As String
+ Get
+ Return ResourceManager.GetString("QualifiedSignature", resourceCulture)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Zeichenfolge, die Arbeitsanweisung ähnelt.
'''
diff --git a/EnvelopeGenerator.Common/Strings/Model.en.resx b/EnvelopeGenerator.Common/Strings/Model.en.resx
index 43dc2ca6..9271780c 100644
--- a/EnvelopeGenerator.Common/Strings/Model.en.resx
+++ b/EnvelopeGenerator.Common/Strings/Model.en.resx
@@ -126,6 +126,9 @@
Accesscode requested
+
+ Advanced electronic signature
+
Completed
@@ -144,9 +147,6 @@
Draft
-
- Electronic Signature
-
Archived
diff --git a/EnvelopeGenerator.Common/Strings/Model.resx b/EnvelopeGenerator.Common/Strings/Model.resx
index dc09ccb1..f26fb4dd 100644
--- a/EnvelopeGenerator.Common/Strings/Model.resx
+++ b/EnvelopeGenerator.Common/Strings/Model.resx
@@ -126,6 +126,9 @@
Zugriffscode angefordert
+
+ Fortgeschrittene Elektronische Signatur
+
Abgeschlossen
@@ -147,9 +150,6 @@
Entwurf
-
- Elektronische Signatur
-
Archiviert
diff --git a/EnvelopeGenerator.Common/packages.config b/EnvelopeGenerator.Common/packages.config
index d6fe9920..2f5d4edf 100644
--- a/EnvelopeGenerator.Common/packages.config
+++ b/EnvelopeGenerator.Common/packages.config
@@ -1,7 +1,7 @@
-
-
+
+
diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb
index 8f52ebb5..0053407a 100644
--- a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb
+++ b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb
@@ -65,7 +65,8 @@ Public Class EnvelopeEditorController
Public Function CreateEnvelope() As Envelope
Dim oEnvelope As New Envelope() With {
.UserId = State.UserId,
- .User = UserModel.SelectUser()
+ .User = UserModel.SelectUser(),
+ .TFA_Enabled = DEF_TF_ENABLED
}
If EnvelopeModel.Insert(oEnvelope) Then
@@ -87,11 +88,13 @@ Public Class EnvelopeEditorController
Public Function SaveReceivers(pEnvelope As Envelope, pReceiversFromGrid As List(Of EnvelopeReceiver)) As Boolean
Dim oExistingReceivers As List(Of EnvelopeReceiver) = ReceiverModel.ListReceivers(pReceiversFromGrid).ToList()
Dim oExistingAddresses = oExistingReceivers.Select(Function(r) r.Email)
+ Logger.Debug($"oExistingReceivers.count: {oExistingReceivers.Count}")
+ Logger.Debug($"oExistingAddresses.count: {oExistingAddresses.Count}")
Dim oNewReceivers = pReceiversFromGrid.Where(Function(r)
If r.Email Is Nothing Then Return False
Return Not oExistingAddresses.Contains(r.Email)
End Function).ToList()
-
+ Logger.Debug($"oNewReceivers.count: {oNewReceivers.Count}")
If CreateNewReceivers(oNewReceivers) = False Then
Return False
End If
@@ -406,4 +409,11 @@ Public Class EnvelopeEditorController
Return String.Empty
End If
End Function
+ Public Function GetLastPhoneByEmailAdress(pEmailAdress As String) As String
+ If (String.IsNullOrEmpty(pEmailAdress) = False) Then
+ Return ReceiverModel.GetLastUsedReceiverPhone(pEmailAdress, Envelope.UserId)
+ Else
+ Return String.Empty
+ End If
+ End Function
End Class
diff --git a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj
index b9553dbc..52581655 100644
--- a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj
+++ b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj
@@ -76,10 +76,10 @@
..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll
- ..\..\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll
+ ..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll
- ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll
+ ..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll
False
@@ -107,6 +107,7 @@
..\packages\NLog.5.0.5\lib\net46\NLog.dll
+
@@ -142,12 +143,6 @@
-
- frmChooseDocVariant.vb
-
-
- Form
-
Form
@@ -196,9 +191,6 @@
True
-
- frmChooseDocVariant.vb
-
frmEnvelopeEditor.vb
Designer
@@ -213,6 +205,7 @@
frmEnvelopeMainData.vb
+ Designer
frmFieldEditor.vb
diff --git a/EnvelopeGenerator.Form/ModuleSettings.vb b/EnvelopeGenerator.Form/ModuleSettings.vb
index 8a3dfe13..aa9c9343 100644
--- a/EnvelopeGenerator.Form/ModuleSettings.vb
+++ b/EnvelopeGenerator.Form/ModuleSettings.vb
@@ -1,5 +1,6 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
+Imports EnvelopeGenerator.Common
Module ModuleSettings
Public ENVELOPE_TEMP_DOCUMENT As String = ""
@@ -7,4 +8,12 @@ Module ModuleSettings
Public Directory2Delete As String = ""
Public MS_GDPICTUREKEY As String = ""
Public DB_DD_ECM As MSSQLServer = Nothing
+ Public DEF_TF_ENABLED As Boolean = False
+ Public MYUSER As User
+ Public MyTempFiles As TempFiles
+ Public SQL_REP_ENV_USER_LM As String = ""
+ Public SQL_REP_ENV_USER_TM As String = ""
+ Public SQL_REP_ENV_USER_Y As String = ""
+ Public SQL_REP_ENV_USER_ALL As String = ""
+ Public DT_CHARTS As DataTable
End Module
diff --git a/EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb b/EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb
deleted file mode 100644
index 4da4a646..00000000
--- a/EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb
+++ /dev/null
@@ -1,75 +0,0 @@
- _
-Partial Class frmChooseDocVariant
- Inherits DevExpress.XtraEditors.XtraForm
-
- 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
- _
- Protected Overrides Sub Dispose(ByVal disposing As Boolean)
- Try
- If disposing AndAlso components IsNot Nothing Then
- components.Dispose()
- End If
- Finally
- MyBase.Dispose(disposing)
- End Try
- End Sub
-
- 'Wird vom Windows Form-Designer benötigt.
- Private components As System.ComponentModel.IContainer
-
- 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
- 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
- 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
- _
- Private Sub InitializeComponent()
- Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmChooseDocVariant))
- Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
- Me.SimpleButton2 = New DevExpress.XtraEditors.SimpleButton()
- Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
- Me.SuspendLayout()
- '
- 'LabelControl1
- '
- Me.LabelControl1.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.LabelControl1.Appearance.Options.UseFont = True
- Me.LabelControl1.Location = New System.Drawing.Point(12, 26)
- Me.LabelControl1.Name = "LabelControl1"
- Me.LabelControl1.Size = New System.Drawing.Size(625, 17)
- Me.LabelControl1.TabIndex = 2
- Me.LabelControl1.Text = "In diesem Dialog wählen Sie die Dokumente aus, welche dann zu einem Dokument verk" &
- "ettet werden!"
- '
- 'SimpleButton2
- '
- Me.SimpleButton2.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.SimpleButton2.Appearance.Options.UseFont = True
- Me.SimpleButton2.ImageOptions.SvgImage = CType(resources.GetObject("SimpleButton2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
- Me.SimpleButton2.Location = New System.Drawing.Point(142, 85)
- Me.SimpleButton2.Name = "SimpleButton2"
- Me.SimpleButton2.Size = New System.Drawing.Size(343, 50)
- Me.SimpleButton2.TabIndex = 3
- Me.SimpleButton2.Text = "Mehrere PDF auswählen und automatisch verketten"
- '
- 'OpenFileDialog1
- '
- Me.OpenFileDialog1.FileName = "OpenFileDialog1"
- Me.OpenFileDialog1.Filter = "PDF Files|*.pdf"
- '
- 'frmChooseDocVariant
- '
- Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(644, 189)
- Me.Controls.Add(Me.SimpleButton2)
- Me.Controls.Add(Me.LabelControl1)
- Me.IconOptions.SvgImage = CType(resources.GetObject("frmChooseDocVariant.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
- Me.Name = "frmChooseDocVariant"
- Me.Text = "Mehrere Dokumente"
- Me.ResumeLayout(False)
- Me.PerformLayout()
-
- End Sub
- Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
- Friend WithEvents SimpleButton2 As DevExpress.XtraEditors.SimpleButton
- Friend WithEvents OpenFileDialog1 As OpenFileDialog
-End Class
diff --git a/EnvelopeGenerator.Form/frmChooseDocVariant.resx b/EnvelopeGenerator.Form/frmChooseDocVariant.resx
deleted file mode 100644
index 5944640e..00000000
--- a/EnvelopeGenerator.Form/frmChooseDocVariant.resx
+++ /dev/null
@@ -1,179 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
- LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJYEAAAC77u/
- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
- IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
- MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
- Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
- LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
- MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
- Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkRvY3VtZW50UERGIj4NCiAgICA8cGF0aCBkPSJN
- MjIsMjR2NEgyVjJoMTR2NWMwLDAuNiwwLjQsMSwxLDFoNXY0aDJWN2wtNy03SDFDMC40LDAsMCwwLjQs
- MCwxdjI4YzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTEgICB2LTVIMjJ6IiBjbGFzcz0i
- QmxhY2siIC8+DQogICAgPHBhdGggZD0iTTE5LjIsMTZjMC4zLDAuNSwwLjQsMS4xLDAuNCwxLjljMCww
- LjktMC4yLDEuNS0wLjUsMmMtMC4zLDAuNS0wLjcsMC43LTEuMywwLjdoLTAuNnYtNS4zaDAuNiAgIEMx
- OC40LDE1LjMsMTguOSwxNS42LDE5LjIsMTZ6IE0xMi4xLDE1LjNoLTAuNXYyLjZoMC41YzAuNywwLDEu
- MS0wLjQsMS4xLTEuM2MwLTAuNC0wLjEtMC44LTAuMy0xQzEyLjYsMTUuNCwxMi40LDE1LjMsMTIuMSwx
- NS4zeiAgICBNMzAsMTJ2MTJINlYxMkgzMHogTTE0LjgsMTYuNWMwLTAuOC0wLjItMS41LTAuNi0xLjlj
- LTAuNC0wLjQtMS0wLjctMS44LTAuN0gxMHY4aDEuNnYtMi43aDAuNmMwLjgsMCwxLjQtMC4zLDEuOS0w
- LjggICBDMTQuNSwxOCwxNC44LDE3LjMsMTQuOCwxNi41eiBNMjEuMiwxNy45YzAtMi42LTEuMS0zLjkt
- My40LTMuOWgtMi4xdjhoMi4yYzEuMSwwLDEuOS0wLjQsMi41LTEuMUMyMC45LDIwLjIsMjEuMiwxOS4y
- LDIxLjIsMTcuOXogICAgTTI2LDE0aC0zLjd2OGgxLjZ2LTMuMWgydi0xLjNoLTJ2LTIuMkgyNlYxNHoi
- IGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
-
-
-
- 17, 17
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
- LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANYEAAAC77u/
- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
- IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
- MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
- Y2U9InByZXNlcnZlIiBpZD0iTG9naWNhbCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KPC9z
- dHlsZT4NCiAgPHBhdGggZD0iTTUsNGgyM1YzYzAtMC42LTAuNC0xLTEtMUg1QzMuMywyLDIsMy4zLDIs
- NXYyMmMwLDEuNywxLjMsMywzLDNoMjJjMC42LDAsMS0wLjQsMS0xVjZINUM0LjQsNiw0LDUuNiw0LDUg
- IEM0LDQuNCw0LjQsNCw1LDR6IE0xNiwyNGgtMnYtMmgyVjI0eiBNMTEuNiwxNC40YzAuMi0wLjUsMC40
- LTAuOSwwLjctMS4zYzAuMy0wLjQsMC43LTAuNiwxLjEtMC44YzAuNC0wLjIsMC45LTAuMywxLjUtMC4z
- ICBjMC43LDAsMS4zLDAuMSwxLjgsMC4zYzAuNSwwLjIsMC45LDAuNSwxLjIsMC44YzAuMywwLjMsMC41
- LDAuNywwLjYsMWMwLjEsMC40LDAuMiwwLjcsMC4yLDFjMCwwLjQsMCwwLjctMC4xLDEgIGMtMC4xLDAu
- My0wLjIsMC41LTAuMywwLjhjLTAuMSwwLjItMC4zLDAuNC0wLjQsMC42Yy0wLjIsMC4yLTAuMywwLjMt
- MC41LDAuNGMtMC4yLDAuMS0wLjMsMC4zLTAuNSwwLjRjLTAuMiwwLjEtMC4zLDAuMy0wLjQsMC40ICBj
- LTAuMSwwLjEtMC4zLDAuMy0wLjQsMC41Yy0wLjEsMC4yLTAuMiwwLjQtMC4yLDAuNnYwLjZoLTJ2LTAu
- N2MwLTAuNCwwLjEtMC43LDAuMS0wLjljMC4xLTAuMywwLjItMC41LDAuMy0wLjcgIGMwLjEtMC4yLDAu
- My0wLjQsMC40LTAuNWMwLjEtMC4xLDAuMy0wLjMsMC40LTAuNHMwLjMtMC4zLDAuNC0wLjRjMC4xLTAu
- MSwwLjItMC4yLDAuMy0wLjRjMC4xLTAuMSwwLjItMC4zLDAuMi0wLjUgIGMwLjEtMC4yLDAuMS0wLjQs
- MC4xLTAuNmMwLTAuNS0wLjEtMC45LTAuMy0xLjFjLTAuMi0wLjItMC41LTAuNC0wLjktMC40Yy0wLjMs
- MC0wLjUsMC4xLTAuNywwLjJjLTAuMiwwLjEtMC40LDAuMy0wLjUsMC41ICBjLTAuMSwwLjItMC4yLDAu
- NC0wLjMsMC43Yy0wLjEsMC4yLTAuMSwwLjUtMC4xLDAuOGgtMi4yQzExLjQsMTUuNCwxMS40LDE0Ljks
- MTEuNiwxNC40eiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
-
-
-
\ No newline at end of file
diff --git a/EnvelopeGenerator.Form/frmChooseDocVariant.vb b/EnvelopeGenerator.Form/frmChooseDocVariant.vb
deleted file mode 100644
index 6faeb8ab..00000000
--- a/EnvelopeGenerator.Form/frmChooseDocVariant.vb
+++ /dev/null
@@ -1,96 +0,0 @@
-Imports DevExpress.XtraSplashScreen
-Imports EnvelopeGenerator.Common
-Imports DigitalData.Modules.Logging
-Imports GdPicture14
-Public Class frmChooseDocVariant
- Private TempFiles As TempFiles
- Public Property State As State
- Private Logger As Logger
- Private Sub frmChooseDocVariant_Load(sender As Object, e As EventArgs) Handles Me.Load
- ENVELOPE_TEMP_DOCUMENT = ""
- TempFiles = New TempFiles(State.LogConfig)
- TempFiles.Create()
- Logger = State.LogConfig.GetLogger()
- End Sub
-
- Private Sub SimpleButton1_Click(sender As Object, e As EventArgs)
- OpenFileDialog1.Multiselect = False
- Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
-
- Try
- If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
- ENVELOPE_TEMP_DOCUMENT = OpenFileDialog1.FileName
- End If
-
- Catch ex As Exception
- Logger.Error(ex)
- Finally
- SplashScreenManager.CloseOverlayForm(oHandle)
- End Try
- ' Else
- ' SplashScreenManager.CloseOverlayForm(oHandle)
- ' End If
- End Sub
-
- Private Sub SimpleButton2_Click(sender As Object, e As EventArgs) Handles SimpleButton2.Click
- OpenFileDialog1.Multiselect = True
- Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
- Try
- Dim oErr As Boolean = False
- If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
- Dim oIDX As Integer = 0
- For Each oFile As String In OpenFileDialog1.FileNames
- oIDX += 1
- Next
-
- Dim arPDF As GdPicturePDF() = New GdPicturePDF(oIDX) {}
- oIDX = 0
- For Each oFile As String In OpenFileDialog1.FileNames
- arPDF(oIDX) = New GdPicturePDF()
- If arPDF(oIDX).LoadFromFile(oFile) <> GdPictureStatus.OK Then
- MsgBox($"PDF Statsu of file {oFile} is not OK. Please check PDF-conformity!", MsgBoxStyle.Critical)
- oErr = True
- Exit For
- End If
- oIDX += 1
- Next
- If oErr = False Then
-
- Dim dstPDF As GdPicturePDF = arPDF(0).MergeDocuments(arPDF)
- Dim oStatus As GdPictureStatus = arPDF(0).GetStat()
- If oStatus = GdPictureStatus.OK Then
- MsgBox("All documents have been successfully merged.", MsgBoxStyle.Information)
- Dim oTempFolder = TempFiles.TempPath
- Dim oTempFilename = String.Concat(oTempFolder, "\", $"MergedDoc.pdf")
- If System.IO.File.Exists(oTempFilename) Then
- System.IO.File.Delete(oTempFilename)
- End If
- If dstPDF.SaveToFile(oTempFilename) = GdPictureStatus.OK Then
- MessageBox.Show("Merged document has been successfully saved.", "Example: MergeDocuments")
- ENVELOPE_TEMP_DOCUMENT = oTempFilename
- dstPDF.CloseDocument()
- End If
- Else
- MessageBox.Show("The MergeDocuments() method has failed with the status: " + oStatus.ToString(), "Example: MergeDocuments")
- End If
- dstPDF.Dispose()
- oIDX = 0
- For Each oFile As String In OpenFileDialog1.FileNames
- arPDF(oIDX).CloseDocument()
- oIDX += 1
- Next
- End If
-
- End If
-
- Catch ex As Exception
- Logger.Error(ex)
- Finally
- SplashScreenManager.CloseOverlayForm(oHandle)
- End Try
- End Sub
-
- Private Sub LabelControl1_Click(sender As Object, e As EventArgs) Handles LabelControl1.Click
-
- End Sub
-End Class
\ No newline at end of file
diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb
index df22b448..61e80f07 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb
+++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb
@@ -56,16 +56,16 @@ Partial Public Class frmEnvelopeEditor
Me.txtCreatorEmailLabel = New DevExpress.XtraBars.BarStaticItem()
Me.txtEnvelopeIdLabel2 = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
- Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
+ Me.bsitm_info = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
+ Me.bbtnitm_ConcatFiles = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupDocuments = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupInvitation = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupAddSignature = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupReceiver = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
- Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.LayoutControlGroup4 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlGroup5 = New DevExpress.XtraLayout.LayoutControlGroup()
@@ -82,6 +82,7 @@ Partial Public Class frmEnvelopeEditor
Me.RepositoryItemComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox()
Me.colName = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colAccessCode = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.colPhoneNumber = New DevExpress.XtraGrid.Columns.GridColumn()
Me.RepositoryItemEmailEdit = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
Me.RepositoryItemPictureEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit()
Me.RepositoryItemColorPickEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemColorPickEdit()
@@ -100,7 +101,7 @@ Partial Public Class frmEnvelopeEditor
Me.EnvelopeDocumentBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.txtEnvelopeIdLabel = New DevExpress.XtraBars.BarStaticItem()
- Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnShowFile = New DevExpress.XtraBars.BarButtonItem()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
@@ -243,9 +244,9 @@ Partial Public Class frmEnvelopeEditor
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.btnSave, Me.btnCancel, Me.btnNewFile, Me.btnDeleteFile, Me.btnSendEnvelope, Me.btnEditFields, Me.btnDeleteReceiver, Me.btnEditData, Me.txtCreatorEmailLabel, Me.txtEnvelopeIdLabel2, Me.BarButtonItem1, Me.BarStaticItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.btnSave, Me.btnCancel, Me.btnNewFile, Me.btnDeleteFile, Me.btnSendEnvelope, Me.btnEditFields, Me.btnDeleteReceiver, Me.btnEditData, Me.txtCreatorEmailLabel, Me.txtEnvelopeIdLabel2, Me.BarButtonItem1, Me.bsitm_info, Me.BarButtonItem2, Me.BarButtonItem3, Me.bbtnitm_ConcatFiles, Me.btnShowFile})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
- Me.RibbonControl1.MaxItemId = 17
+ Me.RibbonControl1.MaxItemId = 18
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
@@ -334,10 +335,10 @@ Partial Public Class frmEnvelopeEditor
Me.BarButtonItem1.Id = 12
Me.BarButtonItem1.Name = "BarButtonItem1"
'
- 'BarStaticItem1
+ 'bsitm_info
'
- Me.BarStaticItem1.Id = 13
- Me.BarStaticItem1.Name = "BarStaticItem1"
+ Me.bsitm_info.Id = 13
+ Me.bsitm_info.Name = "bsitm_info"
'
'BarButtonItem2
'
@@ -351,9 +352,16 @@ Partial Public Class frmEnvelopeEditor
Me.BarButtonItem3.Id = 15
Me.BarButtonItem3.Name = "BarButtonItem3"
'
+ 'bbtnitm_ConcatFiles
+ '
+ resources.ApplyResources(Me.bbtnitm_ConcatFiles, "bbtnitm_ConcatFiles")
+ Me.bbtnitm_ConcatFiles.Id = 16
+ Me.bbtnitm_ConcatFiles.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitm_ConcatFiles.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.bbtnitm_ConcatFiles.Name = "bbtnitm_ConcatFiles"
+ '
'RibbonPage1
'
- Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupDocuments, Me.RibbonPageGroupInvitation, Me.RibbonPageGroupAddSignature, Me.RibbonPageGroupReceiver, Me.RibbonPageGroup2})
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupDocuments, Me.RibbonPageGroupInvitation, Me.RibbonPageGroupAddSignature, Me.RibbonPageGroupReceiver})
Me.RibbonPage1.Name = "RibbonPage1"
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
@@ -368,8 +376,9 @@ Partial Public Class frmEnvelopeEditor
'RibbonPageGroupDocuments
'
Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.btnNewFile)
- Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.BarButtonItem4)
+ Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.bbtnitm_ConcatFiles)
Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.btnDeleteFile)
+ Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.btnShowFile)
Me.RibbonPageGroupDocuments.Name = "RibbonPageGroupDocuments"
resources.ApplyResources(Me.RibbonPageGroupDocuments, "RibbonPageGroupDocuments")
'
@@ -392,17 +401,11 @@ Partial Public Class frmEnvelopeEditor
Me.RibbonPageGroupReceiver.Name = "RibbonPageGroupReceiver"
resources.ApplyResources(Me.RibbonPageGroupReceiver, "RibbonPageGroupReceiver")
'
- 'RibbonPageGroup2
- '
- Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem3)
- Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
- resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
- '
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.txtCreatorEmailLabel)
Me.RibbonStatusBar1.ItemLinks.Add(Me.txtEnvelopeIdLabel2)
- Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItem1)
+ Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitm_info)
resources.ApplyResources(Me.RibbonStatusBar1, "RibbonStatusBar1")
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
@@ -482,7 +485,7 @@ Partial Public Class frmEnvelopeEditor
'ViewReceivers
'
Me.ViewReceivers.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
- Me.ViewReceivers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colColor, Me.colEmail, Me.colName, Me.colAccessCode})
+ Me.ViewReceivers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colColor, Me.colEmail, Me.colName, Me.colAccessCode, Me.colPhoneNumber})
Me.ViewReceivers.GridControl = Me.GridReceivers
Me.ViewReceivers.Name = "ViewReceivers"
Me.ViewReceivers.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[True]
@@ -542,6 +545,12 @@ Partial Public Class frmEnvelopeEditor
Me.colAccessCode.OptionsColumn.AllowEdit = False
Me.colAccessCode.OptionsColumn.ReadOnly = True
'
+ 'colPhoneNumber
+ '
+ resources.ApplyResources(Me.colPhoneNumber, "colPhoneNumber")
+ Me.colPhoneNumber.FieldName = "PhoneNumber"
+ Me.colPhoneNumber.Name = "colPhoneNumber"
+ '
'RepositoryItemEmailEdit
'
resources.ApplyResources(Me.RepositoryItemEmailEdit, "RepositoryItemEmailEdit")
@@ -675,15 +684,16 @@ Partial Public Class frmEnvelopeEditor
Me.txtEnvelopeIdLabel.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
Me.txtEnvelopeIdLabel.Tag = "Envelope-ID: {0}"
'
- 'BarButtonItem4
+ 'btnShowFile
'
- resources.ApplyResources(Me.BarButtonItem4, "BarButtonItem4")
- Me.BarButtonItem4.Id = 16
- Me.BarButtonItem4.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
- Me.BarButtonItem4.Name = "BarButtonItem4"
+ resources.ApplyResources(Me.btnShowFile, "btnShowFile")
+ Me.btnShowFile.Id = 17
+ Me.btnShowFile.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnShowFile.Name = "btnShowFile"
'
'frmEnvelopeEditor
'
+ Me.AllowDrop = True
resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.SplitContainerControl1)
@@ -804,11 +814,12 @@ Partial Public Class frmEnvelopeEditor
Friend WithEvents txtEnvelopeIdLabel2 As DevExpress.XtraBars.BarStaticItem
Friend WithEvents colPageCount As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
- Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents bsitm_info As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
- Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
- Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents bbtnitm_ConcatFiles As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents colPhoneNumber As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents btnShowFile As DevExpress.XtraBars.BarButtonItem
#End Region
diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx
index 7cf8b4f1..65da7d8a 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx
+++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx
@@ -213,7 +213,7 @@
- Ein Dokument hinzufügen
+ Ein PDF-Dokument hinzufügen
@@ -322,35 +322,30 @@
- Titel und Typ
+ Eigenschaften
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABwFAAAC77u/
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOYDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
- Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
- LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
- RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
- Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
- aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iUmVuYW1lXzFfIj4NCiAgICA8
- cGF0aCBkPSJNMi4xLDE2aDIuMmwwLjYtMi4zaDMuMkw4LjgsMTZIMTFMNy44LDZINS40TDIuMSwxNnog
- TTYuNCw4LjdjMC4xLTAuMywwLjEtMC42LDAuMS0wLjloMC4xICAgYzAsMC4zLDAuMSwwLjYsMC4xLDAu
- OWwxLDMuM0g1LjRMNi40LDguN3ogTTE3LjUsMTAuNmMwLjYtMC4yLDEuMS0wLjUsMS41LTAuOWMwLjQt
- MC40LDAuNi0wLjksMC42LTEuNGMwLTAuNy0wLjMtMS4zLTAuOS0xLjcgICBDMTguMSw2LjIsMTcuMSw2
- LDE1LjksNkgxMnY5LjlWMTZoNGMxLjIsMCwyLjItMC4yLDIuOS0wLjhDMTkuNywxNC42LDIwLDE0LDIw
- LDEzYzAtMC42LTAuMi0xLjItMC43LTEuNiAgIEMxOC45LDExLDE4LjMsMTAuNywxNy41LDEwLjZ6IE0x
- NC40LDcuN2gwLjljMS4xLDAsMS43LDAuNCwxLjcsMS4xYzAsMC40LTAuMSwwLjctMC40LDAuOUMxNi40
- LDkuOSwxNiwxMCwxNS41LDEwaC0xLjFWNy43eiAgICBNMTcsMTMuOGMtMC4zLDAuMi0wLjgsMC40LTEu
- MywwLjRoLTEuM3YtMi42aDEuM2MwLjUsMCwwLjksMC4xLDEuMywwLjNjMC4zLDAuMiwwLjUsMC42LDAu
- NSwwLjlDMTcuNSwxMy4zLDE3LjQsMTMuNiwxNywxMy44eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxw
- YXRoIGQ9Ik0yNywxOWwtOCw4bC00LTRsOC04TDI3LDE5eiBNMjgsMThsMS43LTEuN2MwLjQtMC40LDAu
- NC0xLDAtMS4zTDI3LDEyLjNjLTAuNC0wLjQtMS0wLjQtMS4zLDBMMjQsMTRMMjgsMTh6ICAgIE0xNCwy
- NHY0aDRMMTQsMjR6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
+ Y2U9InByZXNlcnZlIiBpZD0iRG9jdW1lbnRfUHJvcGVydGllcyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3Jv
+ dW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6
+ IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzAsMjV2
+ LTJsLTIuMi0wLjRjLTAuMi0wLjYtMC40LTEuMy0wLjctMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwx
+ LjNjLTAuNS0wLjMtMS4yLTAuNi0xLjgtMC43TDIzLDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4z
+ LDAuNC0xLjgsMC43bC0xLjgtMS4zbC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjcs
+ MS44TDE0LDIzdjJsMi4yLDAuNGMwLjIsMC42LDAuNCwxLjMsMC43LDEuOCAgbC0xLjMsMS44bDEuNCwx
+ LjRsMS44LTEuM2MwLjUsMC4zLDEuMiwwLjYsMS44LDAuN0wyMSwzMmgybDAuNC0yLjJjMC42LTAuMiwx
+ LjMtMC40LDEuOC0wLjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAu
+ Ny0xLjhMMzAsMjV6IE0yMiwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMnMyLDAuOSwyLDJTMjMu
+ MSwyNiwyMiwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8cGF0aCBkPSJNMTQuMywyNkg2VjRoNmg2djVj
+ MCwwLjYsMC40LDEsMSwxaDV2NS45bDAsMC40YzAuNywwLjIsMS40LDAuNSwyLDAuOFY5bC03LTdINUM0
+ LjQsMiw0LDIuNCw0LDN2MjQgIGMwLDAuNiwwLjQsMSwxLDFoMTAuMUMxNC43LDI3LjQsMTQuNCwyNi43
+ LDE0LjMsMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
@@ -417,10 +412,10 @@
BarButtonItem3
-
- Mehrere Dokumente hinzufügen
+
+ Mehrere PDF-Dokumente verketten
-
+
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -436,6 +431,36 @@
LDguNSwzMS41LDgsMzEsOHogTTYsNXYxN0gyVjJoMTZ2Mkg3QzYuNSw0LDYsNC41LDYsNXogTTEyLDl2
MTdIOFY2aDE2djJIMTMgIEMxMi41LDgsMTIsOC41LDEyLDl6IE0zMCwzMEgxNFYxMGgxNlYzMHoiIGNs
YXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
+
+
+
+ Dokument anzeigen
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJYEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkRvY3VtZW50UERGIj4NCiAgICA8cGF0aCBkPSJN
+ MjIsMjR2NEgyVjJoMTR2NWMwLDAuNiwwLjQsMSwxLDFoNXY0aDJWN2wtNy03SDFDMC40LDAsMCwwLjQs
+ MCwxdjI4YzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTEgICB2LTVIMjJ6IiBjbGFzcz0i
+ QmxhY2siIC8+DQogICAgPHBhdGggZD0iTTE5LjIsMTZjMC4zLDAuNSwwLjQsMS4xLDAuNCwxLjljMCww
+ LjktMC4yLDEuNS0wLjUsMmMtMC4zLDAuNS0wLjcsMC43LTEuMywwLjdoLTAuNnYtNS4zaDAuNiAgIEMx
+ OC40LDE1LjMsMTguOSwxNS42LDE5LjIsMTZ6IE0xMi4xLDE1LjNoLTAuNXYyLjZoMC41YzAuNywwLDEu
+ MS0wLjQsMS4xLTEuM2MwLTAuNC0wLjEtMC44LTAuMy0xQzEyLjYsMTUuNCwxMi40LDE1LjMsMTIuMSwx
+ NS4zeiAgICBNMzAsMTJ2MTJINlYxMkgzMHogTTE0LjgsMTYuNWMwLTAuOC0wLjItMS41LTAuNi0xLjlj
+ LTAuNC0wLjQtMS0wLjctMS44LTAuN0gxMHY4aDEuNnYtMi43aDAuNmMwLjgsMCwxLjQtMC4zLDEuOS0w
+ LjggICBDMTQuNSwxOCwxNC44LDE3LjMsMTQuOCwxNi41eiBNMjEuMiwxNy45YzAtMi42LTEuMS0zLjkt
+ My40LTMuOWgtMi4xdjhoMi4yYzEuMSwwLDEuOS0wLjQsMi41LTEuMUMyMC45LDIwLjIsMjEuMiwxOS4y
+ LDIxLjIsMTcuOXogICAgTTI2LDE0aC0zLjd2OGgxLjZ2LTMuMWgydi0xLjNoLTJ2LTIuMkgyNlYxNHoi
+ IGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
@@ -445,7 +470,7 @@
Umschlag
- Dateien
+ Dokument-Funktionen
Prozess
@@ -456,9 +481,6 @@
Empfänger
-
- RibbonPageGroup2
-
Start
@@ -605,7 +627,7 @@
0
- 37
+ 32
False
@@ -620,7 +642,7 @@
1
- 341
+ 275
Anrede Email
@@ -632,7 +654,7 @@
2
- 344
+ 227
Zugriffscode
@@ -644,7 +666,19 @@
3
- 147
+ 109
+
+
+ Mobilnummer
+
+
+ True
+
+
+ 4
+
+
+ 226
False
@@ -1073,10 +1107,10 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- BarStaticItem1
+
+ bsitm_info
-
+
DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -1091,10 +1125,10 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- BarButtonItem4
+
+ bbtnitm_ConcatFiles
-
+
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -1133,12 +1167,6 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- RibbonPageGroup2
-
-
- DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
LayoutControlGroup4
@@ -1205,6 +1233,12 @@
DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ colPhoneNumber
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RepositoryItemEmailEdit
@@ -1295,6 +1329,12 @@
DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ btnShowFile
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
frmEnvelopeEditor
diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb
index 7265245e..026fba02 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb
+++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb
@@ -1,6 +1,7 @@
Imports System.ComponentModel
Imports System.Data.SqlClient
Imports System.IO
+Imports System.Text.RegularExpressions
Imports DevExpress.Export.Xl
Imports DevExpress.Utils.CommonDialogs
Imports DevExpress.Utils.Drawing
@@ -17,6 +18,7 @@ Imports DigitalData.Modules.Logging
Imports EnvelopeGenerator.Common
Imports EnvelopeGenerator.Common.Constants
Imports EnvelopeGenerator.Common.My
+Imports GdPicture14
Partial Public Class frmEnvelopeEditor
Public Property Envelope As Envelope
@@ -31,7 +33,7 @@ Partial Public Class frmEnvelopeEditor
Private Const COL_NAME = "Name"
Private Const COL_EMAIL = "Email"
Private Const COL_CODE = "AccessCode"
-
+ Private Const COL_PHONE = "PhoneNumber"
Public Property State As State
Private TempFiles As TempFiles
@@ -51,14 +53,7 @@ Partial Public Class frmEnvelopeEditor
End If
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
- Dim oDocument = Await Controller.CreateDocument(OpenFileDialog1.FileName)
-
- If oDocument IsNot Nothing Then
- Documents.Add(oDocument)
- ' Update_File_DB(OpenFileDialog1.FileName)
- Else
- MsgBox(Resources.Envelope.Document_Could_Not_Be_Saved, MsgBoxStyle.Critical, Text)
- End If
+ Await AddDocument(OpenFileDialog1.FileName)
End If
Catch ex As Exception
@@ -73,15 +68,31 @@ Partial Public Class frmEnvelopeEditor
' End If
End Sub
+ Private Async Function AddDocument(pfilePath As String) As Threading.Tasks.Task(Of Boolean)
+ Dim oDocument = Await Controller.CreateDocument(pfilePath)
+
+ If oDocument IsNot Nothing Then
+ Documents.Add(oDocument)
+ ' Update_File_DB(OpenFileDialog1.FileName)
+ ClearBsiItem()
+ Return True
+ Else
+ MsgBox(Resources.Envelope.Document_Could_Not_Be_Saved, MsgBoxStyle.Critical, Text)
+ Return False
+ End If
+
+ End Function
Private Sub frmEditor_Load(sender As Object, e As EventArgs) Handles Me.Load
Logger = State.LogConfig.GetLogger()
Logger.Debug("Loading Configuration..")
TempFiles = New TempFiles(State.LogConfig)
TempFiles.Create()
If Envelope Is Nothing Then
+ Logger.Debug("Loading Controller..")
Controller = New EnvelopeEditorController(State)
' Get additional data
+ Logger.Debug("Loading oDataForm..")
Dim oDataForm As New frmEnvelopeMainData() With {
.State = State,
.Envelope = Controller.Envelope,
@@ -116,6 +127,7 @@ Partial Public Class frmEnvelopeEditor
End If
WriteBytetoPath(oTempFilename, docItem.Byte_Data)
docItem.Filepath = oTempFilename
+ GridDocuments.Tag = docItem.Filepath
End If
If docItem.Thumbnail Is Nothing Then
docItem.Thumbnail = Controller.CreateThumbnail(docItem.Filepath)
@@ -139,7 +151,7 @@ Partial Public Class frmEnvelopeEditor
RepositoryItemComboBox1.Items.AddRange(AllReceiverEmails)
SetAccessCodeColumnVisible()
-
+ SetPhoneNumberColumnVisible()
txtEnvelopeIdLabel2.Caption = String.Format(txtEnvelopeIdLabel2.Tag.ToString, Controller.Envelope.Id)
txtCreatorEmailLabel.Caption = String.Format(txtCreatorEmailLabel.Tag.ToString, Controller.Envelope.User.Email)
@@ -153,6 +165,13 @@ Partial Public Class frmEnvelopeEditor
colAccessCode.Visible = False
End If
End Sub
+ Private Sub SetPhoneNumberColumnVisible()
+ If Envelope.TFA_Enabled = True Then
+ colPhoneNumber.Visible = True
+ Else
+ colPhoneNumber.Visible = False
+ End If
+ End Sub
Private Sub btnDeleteFile_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnDeleteFile.ItemClick
If ViewDocuments.GetSelectedRows().Count > 0 Then
@@ -166,14 +185,18 @@ Partial Public Class frmEnvelopeEditor
If Controller.DeleteDocument(oDocument) Then
Documents.Remove(oDocument)
GridDocuments.DataSource = Nothing
-
+ ClearBsiItem()
End If
End If
End Sub
Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
Try
- SaveEnvelopeWithOutValidation()
+ If SaveEnvelopeWithOutValidation() = True Then
+ bsitm_info.Caption = "Data saved succeddfully " + Now.ToString
+ Else
+ bsitm_info.Caption = "Exceprion - Error saving Data. Check LOG"
+ End If
Catch ex As Exception
Logger.Error(ex)
End Try
@@ -439,7 +462,7 @@ Partial Public Class frmEnvelopeEditor
oForm.ShowDialog()
SetAccessCodeColumnVisible()
-
+ SetPhoneNumberColumnVisible()
SetFormTitle(Controller.Envelope.Title)
End Sub
@@ -491,10 +514,14 @@ Partial Public Class frmEnvelopeEditor
Private Sub DocumentButtons_Enable()
If ViewDocuments.RowCount = 0 Then
btnNewFile.Enabled = True
+ bbtnitm_ConcatFiles.Enabled = True
btnDeleteFile.Enabled = False
+ btnShowFile.Enabled = False
Else
btnNewFile.Enabled = False
+ bbtnitm_ConcatFiles.Enabled = False
btnDeleteFile.Enabled = True
+ btnShowFile.Enabled = True
End If
End Sub
@@ -555,25 +582,35 @@ Partial Public Class frmEnvelopeEditor
If IsValidEmailAddress(oEmailAdress) = True Then
Dim oLastName As String = Controller.GetLastNameByEmailAdress(oEmailAdress)
Dim oAccessCode As String = Helpers.GetAccessCode()
+ Dim oPhoneNumber As String = Controller.GetLastPhoneByEmailAdress(oEmailAdress)
ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_EMAIL), oEmailAdress)
ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_NAME), oLastName)
ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_CODE), oAccessCode)
- CellValueChanged = False
+ ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_PHONE), oPhoneNumber)
Else
Dim oMsg = Resources.Envelope.Error_email_Validation
oMsg = oMsg.Replace("@Mail", oEmailAdress)
MsgBox(oMsg, MsgBoxStyle.Exclamation, Text)
ViewReceivers.DeleteRow(ViewReceivers.FocusedRowHandle)
End If
-
+ CellValueChanged = False
End If
End If
+ ElseIf e.Column.FieldName = COL_PHONE And CellValueChanged = False Then
+ CellValueChanged = True
+ Dim oPhoneNumber As String = DirectCast(e.Value.ToString.ToLower, String)
+ oPhoneNumber = Trim(oPhoneNumber)
+ If IsValidMobilePhoneNumber(oPhoneNumber) = True Then
+ ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_PHONE), oPhoneNumber)
+ Else
+ Dim oMsg = Resources.Envelope.Error_phone_Validation
+ oMsg = oMsg.Replace("@PhoneNr", oPhoneNumber)
+ MsgBox(oMsg, MsgBoxStyle.Exclamation, Text)
+ ViewReceivers.DeleteRow(ViewReceivers.FocusedRowHandle)
+ End If
+ CellValueChanged = False
End If
End Sub
- Private Sub email_validation()
-
- End Sub
-
Private Function IsValidEmailAddress(pEmailAddress As String) As Boolean
Try
If pEmailAddress.Contains("@") Then
@@ -587,21 +624,150 @@ Partial Public Class frmEnvelopeEditor
Return False
End Try
End Function
+ Private Function IsValidMobilePhoneNumber(pPhoneNumber As String) As Boolean
+ Try
+ Dim pattern As String = "^\+49\d{10,14}$"
+ Dim regex As New Regex(pattern)
+ Return regex.IsMatch(pPhoneNumber)
+
+ Catch ex As Exception
+ Logger.Error(ex)
+ Return False
+ End Try
+ End Function
Private Sub RibbonControl1_Click(sender As Object, e As EventArgs) Handles RibbonControl1.Click
End Sub
+ Private Async Sub bbtnitm_ConcatFiles_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitm_ConcatFiles.ItemClick
+ ENVELOPE_TEMP_DOCUMENT = String.Empty
+ OpenFileDialog1.Multiselect = True
+ OpenFileDialog1.Title = Resources.Envelope.Dialog_Concat_PDF
+ Dim oSuccess As Boolean = False
+ Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
+ Try
+ Dim oErr As Boolean = False
+ If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
+ Dim oIDX As Integer = -1
+ For Each oFile As String In OpenFileDialog1.FileNames
+ oIDX += 1
+ Next
- Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
- frmChooseDocVariant.ShowDialog()
- End Sub
+ Dim arPDF As GdPicturePDF() = New GdPicturePDF(oIDX) {}
+ oIDX = 0
+ For Each oFile As String In OpenFileDialog1.FileNames
+ arPDF(oIDX) = New GdPicturePDF()
+ If arPDF(oIDX).LoadFromFile(oFile) <> GdPictureStatus.OK Then
+ MsgBox($"PDF Status of file {oFile} is not OK. Please check PDF-conformity!", MsgBoxStyle.Critical)
+ oErr = True
+ Exit For
+ End If
+ oIDX += 1
+ Next
+ If oErr = False Then
- Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
+ Dim dstPDF As GdPicturePDF = arPDF(0).MergeDocuments(arPDF)
+ Dim oStatus As GdPictureStatus = arPDF(0).GetStat()
+ If oStatus = GdPictureStatus.OK Then
+ Dim oTempFolder = MyTempFiles.TempPath
+ If Not Directory.Exists(oTempFolder) Then
+ Directory.CreateDirectory(oTempFolder)
+ End If
+ Dim oTempFilename = String.Concat(oTempFolder, "\", $"MergedDoc.pdf")
+ 'wenn es das MergedDocument schon gibt dann löschen
+ If System.IO.File.Exists(oTempFilename) Then
+ System.IO.File.Delete(oTempFilename)
+ End If
+ If dstPDF.SaveToFile(oTempFilename) = GdPictureStatus.OK Then
+ ENVELOPE_TEMP_DOCUMENT = oTempFilename
+ dstPDF.CloseDocument()
+ oSuccess = True
+ Else
+ MsgBox("Unexpected format-error within the final document!", MsgBoxStyle.Critical)
+ oSuccess = False
+ End If
+ Else
+ MessageBox.Show("The MergeDocuments() method has failed with the status: " + oStatus.ToString(), "Example: MergeDocuments")
+ oSuccess = False
+ End If
+ dstPDF.Dispose()
+ oIDX = 0
+ For Each oFile As String In OpenFileDialog1.FileNames
+ arPDF(oIDX).CloseDocument()
+ oIDX += 1
+ Next
+ If oSuccess = True And ENVELOPE_TEMP_DOCUMENT <> String.Empty Then
+ Await AddDocument(ENVELOPE_TEMP_DOCUMENT)
+
+ End If
+ End If
+
+ End If
+
+ Catch ex As Exception
+ Logger.Error(ex)
+ Finally
+ SplashScreenManager.CloseOverlayForm(oHandle)
+ End Try
+
+
+ 'frmChooseDocVariant.ShowDialog()
End Sub
- Private Sub ViewReceivers_CellValueChanging(sender As Object, e As CellValueChangedEventArgs) Handles ViewReceivers.CellValueChanging
+ Private Sub frmEnvelopeEditor_DragEnter(sender As Object, e As DragEventArgs) Handles Me.DragEnter
+ ClearBsiItem()
+ ' Prüfen, ob die Daten vom Typ Datei sind
+ If e.Data.GetDataPresent(DataFormats.FileDrop) Then
+ ' prüfen ob es schon eine Datei gibt
+ If Documents.Count > 0 Then
+ e.Effect = DragDropEffects.None
+ bsitm_info.Caption = Resources.Envelope.Only_one_file_is_allowed
+ bsitm_info.ItemAppearance.Normal.BackColor = Color.Red
+ bsitm_info.ItemAppearance.Normal.ForeColor = Color.Yellow
+ Else
+ ' Effekt auf "Kopieren" setzen, um Drag-and-Drop zu ermöglichen
+ e.Effect = DragDropEffects.Copy
+ End If
+ Else
+ e.Effect = DragDropEffects.None
+ End If
+ End Sub
+ Sub ClearBsiItem()
+ bsitm_info.Caption = ""
+ bsitm_info.ItemAppearance.Normal.BackColor = Color.Transparent
+ bsitm_info.ItemAppearance.Normal.ForeColor = Color.Black
+ End Sub
+ Private Async Sub frmEnvelopeEditor_DragDrop(sender As Object, e As DragEventArgs) Handles Me.DragDrop
+ ' Den Pfad der Datei(en) erhalten
+ Dim ofiles() As String = CType(e.Data.GetData(DataFormats.FileDrop), String())
+
+ ' Beispiel: Ersten Dateipfad anzeigen
+ If ofiles IsNot Nothing AndAlso ofiles.Length > 0 Then
+ If Not ofiles(0).ToString.EndsWith("pdf") Then
+ bsitm_info.Caption = Resources.Envelope.Drop_only_one_file
+ bsitm_info.ItemAppearance.Normal.BackColor = Color.Red
+ bsitm_info.ItemAppearance.Normal.ForeColor = Color.Yellow
+ Else
+ Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
+ Await AddDocument(ofiles(0))
+ SplashScreenManager.CloseOverlayForm(oHandle)
+ ' MessageBox.Show("Dateipfad: " & ofiles(0), "Datei abgelegt", MessageBoxButtons.OK, MessageBoxIcon.Information)
+ End If
+
+ End If
End Sub
+ Private Sub GridDocuments_DoubleClick(sender As Object, e As EventArgs) Handles GridDocuments.DoubleClick
+ showdocument()
+ End Sub
+ Private Sub btnShowFile_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnShowFile.ItemClick
+ showDocument
+ End Sub
+ Sub showdocument()
+ If Not IsNothing(Documents) Then
+ Process.Start(Documents.Item(0).Filepath)
+ End If
+ End Sub
End Class
diff --git a/EnvelopeGenerator.Form/frmEnvelopeMainData.Designer.vb b/EnvelopeGenerator.Form/frmEnvelopeMainData.Designer.vb
index 1f00acbd..f7c56e9c 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeMainData.Designer.vb
+++ b/EnvelopeGenerator.Form/frmEnvelopeMainData.Designer.vb
@@ -25,6 +25,7 @@ Partial Class frmEnvelopeMainData
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmEnvelopeMainData))
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
+ Me.chked_2Faktor = New DevExpress.XtraEditors.CheckEdit()
Me.txtTitle = New DevExpress.XtraEditors.TextEdit()
Me.cmbEnvelopeType = New DevExpress.XtraEditors.ComboBoxEdit()
Me.btOK = New DevExpress.XtraEditors.SimpleButton()
@@ -62,9 +63,11 @@ Partial Class frmEnvelopeMainData
Me.LayoutControlItem8 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem12 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem13 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.LayoutControlItem16 = New DevExpress.XtraLayout.LayoutControlItem()
Me.AdornerUIManager1 = New DevExpress.Utils.VisualEffects.AdornerUIManager(Me.components)
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.LayoutControl1.SuspendLayout()
+ CType(Me.chked_2Faktor.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtTitle.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.cmbEnvelopeType.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.cmbCertificationType.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -100,11 +103,13 @@ Partial Class frmEnvelopeMainData
CType(Me.LayoutControlItem8, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem12, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem13, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem16, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.AdornerUIManager1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'LayoutControl1
'
+ Me.LayoutControl1.Controls.Add(Me.chked_2Faktor)
Me.LayoutControl1.Controls.Add(Me.txtTitle)
Me.LayoutControl1.Controls.Add(Me.cmbEnvelopeType)
Me.LayoutControl1.Controls.Add(Me.btOK)
@@ -124,6 +129,15 @@ Partial Class frmEnvelopeMainData
Me.LayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(855, 189, 650, 400)
Me.LayoutControl1.Root = Me.Root
'
+ 'chked_2Faktor
+ '
+ resources.ApplyResources(Me.chked_2Faktor, "chked_2Faktor")
+ Me.chked_2Faktor.Name = "chked_2Faktor"
+ Me.chked_2Faktor.Properties.Appearance.Font = CType(resources.GetObject("chked_2Faktor.Properties.Appearance.Font"), System.Drawing.Font)
+ Me.chked_2Faktor.Properties.Appearance.Options.UseFont = True
+ Me.chked_2Faktor.Properties.Caption = resources.GetString("chked_2Faktor.Properties.Caption")
+ Me.chked_2Faktor.StyleController = Me.LayoutControl1
+ '
'txtTitle
'
resources.ApplyResources(Me.txtTitle, "txtTitle")
@@ -311,16 +325,16 @@ Partial Class frmEnvelopeMainData
'EmptySpaceItem2
'
Me.EmptySpaceItem2.AllowHotTrack = False
- Me.EmptySpaceItem2.Location = New System.Drawing.Point(0, 416)
+ Me.EmptySpaceItem2.Location = New System.Drawing.Point(0, 441)
Me.EmptySpaceItem2.Name = "EmptySpaceItem2"
- Me.EmptySpaceItem2.Size = New System.Drawing.Size(565, 88)
+ Me.EmptySpaceItem2.Size = New System.Drawing.Size(565, 63)
Me.EmptySpaceItem2.TextSize = New System.Drawing.Size(0, 0)
'
'groupFinalEmail
'
Me.groupFinalEmail.GroupStyle = DevExpress.Utils.GroupStyle.Light
Me.groupFinalEmail.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem9, Me.LayoutControlItem14})
- Me.groupFinalEmail.Location = New System.Drawing.Point(0, 323)
+ Me.groupFinalEmail.Location = New System.Drawing.Point(0, 348)
Me.groupFinalEmail.Name = "groupFinalEmail"
Me.groupFinalEmail.Size = New System.Drawing.Size(565, 93)
resources.ApplyResources(Me.groupFinalEmail, "groupFinalEmail")
@@ -348,7 +362,7 @@ Partial Class frmEnvelopeMainData
Me.groupExpiration.Enabled = False
Me.groupExpiration.GroupStyle = DevExpress.Utils.GroupStyle.Light
Me.groupExpiration.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem10, Me.LayoutControlItem11})
- Me.groupExpiration.Location = New System.Drawing.Point(0, 230)
+ Me.groupExpiration.Location = New System.Drawing.Point(0, 255)
Me.groupExpiration.Name = "groupExpiration"
Me.groupExpiration.Size = New System.Drawing.Size(565, 93)
resources.ApplyResources(Me.groupExpiration, "groupExpiration")
@@ -376,7 +390,7 @@ Partial Class frmEnvelopeMainData
Me.groupReminders.Enabled = False
Me.groupReminders.GroupStyle = DevExpress.Utils.GroupStyle.Light
Me.groupReminders.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem5, Me.LayoutControlItem6, Me.LayoutControlItem7})
- Me.groupReminders.Location = New System.Drawing.Point(0, 115)
+ Me.groupReminders.Location = New System.Drawing.Point(0, 140)
Me.groupReminders.Name = "groupReminders"
Me.groupReminders.Size = New System.Drawing.Size(565, 115)
resources.ApplyResources(Me.groupReminders, "groupReminders")
@@ -411,10 +425,10 @@ Partial Class frmEnvelopeMainData
'groupOptions
'
Me.groupOptions.GroupStyle = DevExpress.Utils.GroupStyle.Light
- Me.groupOptions.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem8, Me.LayoutControlItem12, Me.LayoutControlItem13})
+ Me.groupOptions.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem8, Me.LayoutControlItem12, Me.LayoutControlItem13, Me.LayoutControlItem16})
Me.groupOptions.Location = New System.Drawing.Point(0, 0)
Me.groupOptions.Name = "groupOptions"
- Me.groupOptions.Size = New System.Drawing.Size(565, 115)
+ Me.groupOptions.Size = New System.Drawing.Size(565, 140)
resources.ApplyResources(Me.groupOptions, "groupOptions")
'
'LayoutControlItem8
@@ -438,12 +452,21 @@ Partial Class frmEnvelopeMainData
'LayoutControlItem13
'
Me.LayoutControlItem13.Control = Me.chkUseAccessCode
- Me.LayoutControlItem13.Location = New System.Drawing.Point(0, 48)
+ Me.LayoutControlItem13.Location = New System.Drawing.Point(0, 73)
Me.LayoutControlItem13.Name = "LayoutControlItem13"
Me.LayoutControlItem13.Size = New System.Drawing.Size(541, 22)
Me.LayoutControlItem13.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem13.TextVisible = False
'
+ 'LayoutControlItem16
+ '
+ Me.LayoutControlItem16.Control = Me.chked_2Faktor
+ Me.LayoutControlItem16.Location = New System.Drawing.Point(0, 48)
+ Me.LayoutControlItem16.Name = "LayoutControlItem16"
+ Me.LayoutControlItem16.Size = New System.Drawing.Size(541, 25)
+ Me.LayoutControlItem16.TextSize = New System.Drawing.Size(0, 0)
+ Me.LayoutControlItem16.TextVisible = False
+ '
'AdornerUIManager1
'
Me.AdornerUIManager1.Owner = Me
@@ -461,6 +484,7 @@ Partial Class frmEnvelopeMainData
Me.ShowInTaskbar = False
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.LayoutControl1.ResumeLayout(False)
+ CType(Me.chked_2Faktor.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtTitle.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.cmbEnvelopeType.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.cmbCertificationType.Properties, System.ComponentModel.ISupportInitialize).EndInit()
@@ -496,6 +520,7 @@ Partial Class frmEnvelopeMainData
CType(Me.LayoutControlItem8, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem12, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem13, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem16, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.AdornerUIManager1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
@@ -540,4 +565,6 @@ Partial Class frmEnvelopeMainData
Friend WithEvents LayoutControlItem14 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents EmptySpaceItem2 As DevExpress.XtraLayout.EmptySpaceItem
Friend WithEvents groupAllOptions As DevExpress.XtraLayout.LayoutControlGroup
+ Friend WithEvents chked_2Faktor As DevExpress.XtraEditors.CheckEdit
+ Friend WithEvents LayoutControlItem16 As DevExpress.XtraLayout.LayoutControlItem
End Class
diff --git a/EnvelopeGenerator.Form/frmEnvelopeMainData.resx b/EnvelopeGenerator.Form/frmEnvelopeMainData.resx
index 223536c7..f54cf116 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeMainData.resx
+++ b/EnvelopeGenerator.Form/frmEnvelopeMainData.resx
@@ -118,13 +118,40 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 27, 210
+
+
+ Segoe UI, 10pt, style=Bold
+
+
+ 2 Faktor -Authentifizierung aktivieren
+
+
+ 537, 21
+
+
+
+ 21
+
+
+ chked_2Faktor
+
+
+ DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ LayoutControl1
+
+
+ 4
+
204, 45
363, 20
-
4
@@ -138,7 +165,7 @@
LayoutControl1
- 4
+ 5
204, 69
@@ -163,7 +190,7 @@
LayoutControl1
- 5
+ 6
22, 636
@@ -191,7 +218,7 @@
LayoutControl1
- 6
+ 7
92, 636
@@ -218,7 +245,7 @@
LayoutControl1
- 7
+ 8
False
@@ -245,10 +272,10 @@
LayoutControl1
- 8
+ 9
- 27, 277
+ 27, 302
Erinnerungen senden
@@ -269,13 +296,13 @@
LayoutControl1
- 9
+ 10
0
- 207, 299
+ 207, 324
Combo
@@ -296,13 +323,13 @@
LayoutControl1
- 10
+ 11
0
- 207, 323
+ 207, 348
Combo
@@ -323,13 +350,13 @@
LayoutControl1
- 11
+ 12
0
- 207, 392
+ 207, 417
Combo
@@ -350,13 +377,13 @@
LayoutControl1
- 12
+ 13
0
- 207, 416
+ 207, 441
Combo
@@ -377,7 +404,7 @@
LayoutControl1
- 13
+ 14
207, 186
@@ -401,10 +428,10 @@
LayoutControl1
- 14
+ 15
- 27, 210
+ 27, 235
Verwende Zugriffscode
@@ -425,10 +452,10 @@
LayoutControl1
- 15
+ 16
- 207, 485
+ 207, 510
Combo
@@ -449,10 +476,10 @@
LayoutControl1
- 16
+ 17
- 207, 509
+ 207, 534
Combo
@@ -473,7 +500,7 @@
LayoutControl1
- 17
+ 18
Fill
@@ -727,6 +754,12 @@
DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ LayoutControlItem16
+
+
+ DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
AdornerUIManager1
diff --git a/EnvelopeGenerator.Form/frmEnvelopeMainData.vb b/EnvelopeGenerator.Form/frmEnvelopeMainData.vb
index c2b60e1e..0615fec4 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeMainData.vb
+++ b/EnvelopeGenerator.Form/frmEnvelopeMainData.vb
@@ -4,7 +4,7 @@ Imports EnvelopeGenerator.Common.Constants
Imports System.ComponentModel
Public Class frmEnvelopeMainData
-
+ Private FormLoaded As Boolean = False
Public Property Envelope As Envelope = New Envelope()
Public Property NewEnvelopeMode As Boolean = True
@@ -20,70 +20,87 @@ Public Class frmEnvelopeMainData
End Sub
Private Sub frmEnvelopeMainData_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- If NewEnvelopeMode = True Then
- Me.Text = Resources.Envelope.New_Envelope
- Else
- Me.Text = Resources.Envelope.Edit_Envelope
- cmbEnvelopeType.ReadOnly = True
- End If
+ Try
+ If NewEnvelopeMode = True Then
+ Me.Text = Resources.Envelope.New_Envelope
+ Else
+ Me.Text = Resources.Envelope.Edit_Envelope
+ cmbEnvelopeType.ReadOnly = True
+ End If
- EnvelopeTypeModel = New EnvelopeTypeModel(State)
- Dim oTypes = EnvelopeTypeModel.List()
+ EnvelopeTypeModel = New EnvelopeTypeModel(State)
+ Dim oTypes = EnvelopeTypeModel.List()
- If oTypes.Count = 0 Then
- MsgBox("No templates in Database!", MsgBoxStyle.Exclamation, Text)
- Close()
- Exit Sub
- End If
+ If oTypes.Count = 0 Then
+ MsgBox("No templates in Database!", MsgBoxStyle.Exclamation, Text)
+ Close()
+ Exit Sub
+ End If
- Dim certificationTypeList = [Enum].GetValues(GetType(CertificationType)).Cast(Of CertificationType)()
- Dim oTranslatedCertificationTypeList = certificationTypeList.Select(AddressOf TranslateCertificationType).ToList()
- cmbCertificationType.Properties.Items.AddRange(oTranslatedCertificationTypeList)
+ ' Dim oTranslatedVerificationTypeList = VerificationTypeList.Select(AddressOf TranslateVerificationTypeType).ToList()
- Dim finalEmailTypeList = [Enum].GetValues(GetType(FinalEmailType)).Cast(Of FinalEmailType)()
- Dim oTranslatedFinalEmailTypeList = FinalEmailTypeList.Select(AddressOf TranslateFinalEmailType).ToList()
+ Dim certificationTypeList = [Enum].GetValues(GetType(CertificationType)).Cast(Of CertificationType)()
+ Dim oTranslatedCertificationTypeList = certificationTypeList.Select(AddressOf TranslateCertificationType).ToList()
- cmbEmailToCreator.Properties.Items.AddRange(oTranslatedFinalEmailTypeList)
- cmbEmailToReceivers.Properties.Items.AddRange(oTranslatedFinalEmailTypeList)
+ cmbCertificationType.Properties.Items.AddRange(oTranslatedCertificationTypeList)
- cmbEnvelopeType.Properties.Items.AddRange(oTypes.ToList)
- cmbLanguage.Properties.Items.AddRange(New List(Of String) From {"de", "en"})
- groupAllOptions.Expanded = False
+ Dim finalEmailTypeList = [Enum].GetValues(GetType(FinalEmailType)).Cast(Of FinalEmailType)()
+ Dim oTranslatedFinalEmailTypeList = finalEmailTypeList.Select(AddressOf TranslateFinalEmailType).ToList()
- If NewEnvelopeMode = True Then
- Dim oType = oTypes.FirstOrDefault()
+ cmbEmailToCreator.Properties.Items.AddRange(oTranslatedFinalEmailTypeList)
+ cmbEmailToReceivers.Properties.Items.AddRange(oTranslatedFinalEmailTypeList)
- ' This will trigger loading values from the type
- cmbEnvelopeType.EditValue = oType
- Else
- ' This will trigger loading values from the type
- cmbEnvelopeType.EditValue = Envelope.EnvelopeType
- ' cmbEnvelopeType.SelectedIndex = Convert.ToInt32(Envelope.EnvelopeType) - 1
- ' cmbEnvelopeType.SelectedIndex = Envelope.Type.Id - 1
- ' cmbEnvelopeType.SelectedItem = cmbEnvelopeType.Properties.Items.Cast(Of EnvelopeType).Where(Function(i) i.Id = Envelope.EnvelopeType.Id).SingleOrDefault()
+ cmbEnvelopeType.Properties.Items.AddRange(oTypes.ToList)
+ cmbLanguage.Properties.Items.AddRange(New List(Of String) From {"de", "en"})
+
+ groupAllOptions.Expanded = False
+
+ If NewEnvelopeMode = True Then
+ Dim oType = oTypes.FirstOrDefault()
+
+ ' This will trigger loading values from the type
+ cmbEnvelopeType.EditValue = oType
+ chked_2Faktor.EditValue = DEF_TF_ENABLED
+
+ Else
+ ' This will trigger loading values from the type
+ cmbEnvelopeType.EditValue = Envelope.EnvelopeType
+ ' cmbEnvelopeType.SelectedIndex = Convert.ToInt32(Envelope.EnvelopeType) - 1
+ ' cmbEnvelopeType.SelectedIndex = Envelope.Type.Id - 1
+ ' cmbEnvelopeType.SelectedItem = cmbEnvelopeType.Properties.Items.Cast(Of EnvelopeType).Where(Function(i) i.Id = Envelope.EnvelopeType.Id).SingleOrDefault()
+
+ ' Now we can override these values with the values from envelope
+ txtTitle.EditValue = Envelope.Title
+ chkUseAccessCode.EditValue = Envelope.UseAccessCode
+ chked_2Faktor.EditValue = Envelope.TFA_Enabled
+ cmbCertificationType.SelectedIndex = Convert.ToInt32(Envelope.CertificationType) - 1
+ cmbEmailToCreator.SelectedIndex = Convert.ToInt32(Envelope.FinalEmailToCreator)
+ cmbEmailToReceivers.SelectedIndex = Convert.ToInt32(Envelope.FinalEmailToReceivers)
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected Error loading form:")
+ End Try
- ' Now we can override these values with the values from envelope
- txtTitle.EditValue = Envelope.Title
- chkUseAccessCode.EditValue = Envelope.UseAccessCode
- cmbCertificationType.SelectedIndex = Convert.ToInt32(Envelope.CertificationType) - 1
- cmbEmailToCreator.SelectedIndex = Convert.ToInt32(Envelope.FinalEmailToCreator)
- cmbEmailToReceivers.SelectedIndex = Convert.ToInt32(Envelope.FinalEmailToReceivers)
- End If
End Sub
-
+ Private Sub CheckAccessCode()
+ If Envelope.TFA_Enabled = True Then
+ chkUseAccessCode.Checked = True
+ chkUseAccessCode.Enabled = False
+ Else
+ chkUseAccessCode.Enabled = True
+ End If
+ End Sub
Private Function TranslateCertificationType(pType As CertificationType) As String
Return Resources.Model.ResourceManager.GetString(pType.ToString())
End Function
-
Private Function TranslateFinalEmailType(pType As FinalEmailType) As String
Return Resources.Model.ResourceManager.GetString(pType.ToString())
End Function
Private Sub btOK_Click(sender As Object, e As EventArgs) Handles btOK.Click
-
Dim Validator As Validator = New Validator(State.LogConfig, AdornerUIManager1)
Dim oMissingParams = Validator.Validate(txtTitle)
@@ -110,13 +127,16 @@ Public Class frmEnvelopeMainData
Envelope.ExpiresWarningWhenDays = spnExpiresWarningDays.EditValue
Envelope.FinalEmailToCreator = cmbEmailToCreator.SelectedIndex
Envelope.FinalEmailToReceivers = cmbEmailToReceivers.SelectedIndex
-
+ Envelope.TFA_Enabled = chked_2Faktor.EditValue
' ContractType kann zzt nicht über die Oberfläche gesetzt werden
Envelope.ContractType = ContractType.Contract
End Sub
Private Sub frmEnvelopeMainData_Shown(sender As Object, e As EventArgs) Handles Me.Shown
SetFormHeight()
+ CheckAccessCode()
+ FormLoaded = True
+
End Sub
Private Sub SetFormHeight()
@@ -152,4 +172,15 @@ Public Class frmEnvelopeMainData
cmbEmailToReceivers.SelectedIndex = oSelectedType.FinalEmailToReceivers
End Sub
+
+ Private Sub chked_2Faktor_CheckedChanged(sender As Object, e As EventArgs) Handles chked_2Faktor.CheckedChanged
+ If FormLoaded = True Then
+ If chked_2Faktor.Checked = True Then
+ chkUseAccessCode.Checked = True
+ chkUseAccessCode.Enabled = False
+ Else
+ chkUseAccessCode.Enabled = True
+ End If
+ End If
+ End Sub
End Class
\ No newline at end of file
diff --git a/EnvelopeGenerator.Form/frmMain.Designer.vb b/EnvelopeGenerator.Form/frmMain.Designer.vb
index 24411220..665fc715 100644
--- a/EnvelopeGenerator.Form/frmMain.Designer.vb
+++ b/EnvelopeGenerator.Form/frmMain.Designer.vb
@@ -65,7 +65,7 @@ Partial Class frmMain
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageEnvelopeActions = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
- Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPageFunctions = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
@@ -85,8 +85,20 @@ Partial Class frmMain
Me.GridColumn4 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn5 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.XtraTabPageAdmin = New DevExpress.XtraTab.XtraTabPage()
+ Me.GridControlData = New DevExpress.XtraGrid.GridControl()
+ Me.GridViewData = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()
+ Me.GroupControl1 = New DevExpress.XtraEditors.GroupControl()
+ Me.btnEnvelopes_All = New DevExpress.XtraEditors.SimpleButton()
+ Me.btnEnvelopes_thisYear = New DevExpress.XtraEditors.SimpleButton()
+ Me.btnEnvelopes_lastmonth = New DevExpress.XtraEditors.SimpleButton()
+ Me.btnEnvelopes_thismonth = New DevExpress.XtraEditors.SimpleButton()
Me.RefreshTimer = New System.Windows.Forms.Timer(Me.components)
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
+ Me.GroupControl2 = New DevExpress.XtraEditors.GroupControl()
+ Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl()
+ Me.ChartControl1 = New DevExpress.XtraCharts.ChartControl()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
@@ -105,6 +117,21 @@ Partial Class frmMain
CType(Me.ViewReceiversCompleted, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewHistoryCompleted, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewCompleted, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.XtraTabPageAdmin.SuspendLayout()
+ CType(Me.GridControlData, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.GridViewData, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.PanelControl1.SuspendLayout()
+ CType(Me.GroupControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.GroupControl1.SuspendLayout()
+ CType(Me.GroupControl2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.SplitContainerControl2.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainerControl2.Panel1.SuspendLayout()
+ CType(Me.SplitContainerControl2.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainerControl2.Panel2.SuspendLayout()
+ Me.SplitContainerControl2.SuspendLayout()
+ CType(Me.ChartControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'SplashScreenManager1
@@ -134,7 +161,7 @@ Partial Class frmMain
resources.ApplyResources(Me.XtraTabControlMain, "XtraTabControlMain")
Me.XtraTabControlMain.Name = "XtraTabControlMain"
Me.XtraTabControlMain.SelectedTabPage = Me.XtraTabPage1
- Me.XtraTabControlMain.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2})
+ Me.XtraTabControlMain.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2, Me.XtraTabPageAdmin})
'
'XtraTabPage1
'
@@ -426,7 +453,7 @@ Partial Class frmMain
'
'RibbonPage1
'
- Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageGroup2})
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageFunctions})
Me.RibbonPage1.Name = "RibbonPage1"
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
@@ -445,15 +472,15 @@ Partial Class frmMain
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
- 'RibbonPageGroup2
+ 'RibbonPageFunctions
'
- Me.RibbonPageGroup2.ItemLinks.Add(Me.btnShowDocument)
- Me.RibbonPageGroup2.ItemLinks.Add(Me.btnContactReceiver)
- Me.RibbonPageGroup2.ItemLinks.Add(Me.bbtnitmInfoMail)
- Me.RibbonPageGroup2.ItemLinks.Add(Me.bbtnitmEB)
- Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem2)
- Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
- resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
+ Me.RibbonPageFunctions.ItemLinks.Add(Me.btnShowDocument)
+ Me.RibbonPageFunctions.ItemLinks.Add(Me.btnContactReceiver)
+ Me.RibbonPageFunctions.ItemLinks.Add(Me.bbtnitmInfoMail)
+ Me.RibbonPageFunctions.ItemLinks.Add(Me.bbtnitmEB)
+ Me.RibbonPageFunctions.ItemLinks.Add(Me.BarButtonItem2)
+ Me.RibbonPageFunctions.Name = "RibbonPageFunctions"
+ resources.ApplyResources(Me.RibbonPageFunctions, "RibbonPageFunctions")
'
'RibbonPage2
'
@@ -606,6 +633,70 @@ Partial Class frmMain
Me.GridColumn7.FieldName = "AddedWhen"
Me.GridColumn7.Name = "GridColumn7"
'
+ 'XtraTabPageAdmin
+ '
+ Me.XtraTabPageAdmin.Controls.Add(Me.SplitContainerControl2)
+ Me.XtraTabPageAdmin.Controls.Add(Me.PanelControl1)
+ Me.XtraTabPageAdmin.Name = "XtraTabPageAdmin"
+ resources.ApplyResources(Me.XtraTabPageAdmin, "XtraTabPageAdmin")
+ '
+ 'GridControlData
+ '
+ resources.ApplyResources(Me.GridControlData, "GridControlData")
+ Me.GridControlData.MainView = Me.GridViewData
+ Me.GridControlData.MenuManager = Me.RibbonControl
+ Me.GridControlData.Name = "GridControlData"
+ Me.GridControlData.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewData})
+ '
+ 'GridViewData
+ '
+ Me.GridViewData.GridControl = Me.GridControlData
+ Me.GridViewData.Name = "GridViewData"
+ '
+ 'PanelControl1
+ '
+ Me.PanelControl1.Controls.Add(Me.GroupControl2)
+ Me.PanelControl1.Controls.Add(Me.GroupControl1)
+ resources.ApplyResources(Me.PanelControl1, "PanelControl1")
+ Me.PanelControl1.Name = "PanelControl1"
+ '
+ 'GroupControl1
+ '
+ Me.GroupControl1.Controls.Add(Me.btnEnvelopes_All)
+ Me.GroupControl1.Controls.Add(Me.btnEnvelopes_thisYear)
+ Me.GroupControl1.Controls.Add(Me.btnEnvelopes_lastmonth)
+ Me.GroupControl1.Controls.Add(Me.btnEnvelopes_thismonth)
+ resources.ApplyResources(Me.GroupControl1, "GroupControl1")
+ Me.GroupControl1.Name = "GroupControl1"
+ '
+ 'btnEnvelopes_All
+ '
+ Me.btnEnvelopes_All.Appearance.BackColor = System.Drawing.Color.MediumTurquoise
+ Me.btnEnvelopes_All.Appearance.Options.UseBackColor = True
+ resources.ApplyResources(Me.btnEnvelopes_All, "btnEnvelopes_All")
+ Me.btnEnvelopes_All.Name = "btnEnvelopes_All"
+ '
+ 'btnEnvelopes_thisYear
+ '
+ Me.btnEnvelopes_thisYear.Appearance.BackColor = System.Drawing.Color.LightSeaGreen
+ Me.btnEnvelopes_thisYear.Appearance.Options.UseBackColor = True
+ resources.ApplyResources(Me.btnEnvelopes_thisYear, "btnEnvelopes_thisYear")
+ Me.btnEnvelopes_thisYear.Name = "btnEnvelopes_thisYear"
+ '
+ 'btnEnvelopes_lastmonth
+ '
+ Me.btnEnvelopes_lastmonth.Appearance.BackColor = System.Drawing.Color.Turquoise
+ Me.btnEnvelopes_lastmonth.Appearance.Options.UseBackColor = True
+ resources.ApplyResources(Me.btnEnvelopes_lastmonth, "btnEnvelopes_lastmonth")
+ Me.btnEnvelopes_lastmonth.Name = "btnEnvelopes_lastmonth"
+ '
+ 'btnEnvelopes_thismonth
+ '
+ Me.btnEnvelopes_thismonth.Appearance.BackColor = System.Drawing.Color.Aquamarine
+ Me.btnEnvelopes_thismonth.Appearance.Options.UseBackColor = True
+ resources.ApplyResources(Me.btnEnvelopes_thismonth, "btnEnvelopes_thismonth")
+ Me.btnEnvelopes_thismonth.Name = "btnEnvelopes_thismonth"
+ '
'RefreshTimer
'
Me.RefreshTimer.Interval = 120000
@@ -614,6 +705,33 @@ Partial Class frmMain
'
resources.ApplyResources(Me.SaveFileDialog1, "SaveFileDialog1")
'
+ 'GroupControl2
+ '
+ resources.ApplyResources(Me.GroupControl2, "GroupControl2")
+ Me.GroupControl2.Name = "GroupControl2"
+ '
+ 'SplitContainerControl2
+ '
+ resources.ApplyResources(Me.SplitContainerControl2, "SplitContainerControl2")
+ Me.SplitContainerControl2.Name = "SplitContainerControl2"
+ '
+ 'SplitContainerControl2.Panel1
+ '
+ Me.SplitContainerControl2.Panel1.Controls.Add(Me.GridControlData)
+ resources.ApplyResources(Me.SplitContainerControl2.Panel1, "SplitContainerControl2.Panel1")
+ '
+ 'SplitContainerControl2.Panel2
+ '
+ Me.SplitContainerControl2.Panel2.Controls.Add(Me.ChartControl1)
+ resources.ApplyResources(Me.SplitContainerControl2.Panel2, "SplitContainerControl2.Panel2")
+ Me.SplitContainerControl2.SplitterPosition = 501
+ '
+ 'ChartControl1
+ '
+ resources.ApplyResources(Me.ChartControl1, "ChartControl1")
+ Me.ChartControl1.Name = "ChartControl1"
+ Me.ChartControl1.SeriesSerializable = New DevExpress.XtraCharts.Series(-1) {}
+ '
'frmMain
'
resources.ApplyResources(Me, "$this")
@@ -643,6 +761,21 @@ Partial Class frmMain
CType(Me.ViewReceiversCompleted, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewHistoryCompleted, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewCompleted, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.XtraTabPageAdmin.ResumeLayout(False)
+ CType(Me.GridControlData, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.GridViewData, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.PanelControl1.ResumeLayout(False)
+ CType(Me.GroupControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.GroupControl1.ResumeLayout(False)
+ CType(Me.GroupControl2, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.SplitContainerControl2.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainerControl2.Panel1.ResumeLayout(False)
+ CType(Me.SplitContainerControl2.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainerControl2.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainerControl2.ResumeLayout(False)
+ CType(Me.ChartControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -692,7 +825,7 @@ Partial Class frmMain
Friend WithEvents txtRefreshLabel As DevExpress.XtraBars.BarStaticItem
Friend WithEvents btnShowDocument As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnContactReceiver As DevExpress.XtraBars.BarButtonItem
- Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents RibbonPageFunctions As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents colEnvelopeId As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents ViewHistoryCompleted As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents ColHistoryStatusCompleted As DevExpress.XtraGrid.Columns.GridColumn
@@ -709,4 +842,16 @@ Partial Class frmMain
Friend WithEvents bbtnitmEB As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnitmInfoMail As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents XtraTabPageAdmin As DevExpress.XtraTab.XtraTabPage
+ Friend WithEvents PanelControl1 As DevExpress.XtraEditors.PanelControl
+ Friend WithEvents GroupControl1 As DevExpress.XtraEditors.GroupControl
+ Friend WithEvents btnEnvelopes_thisYear As DevExpress.XtraEditors.SimpleButton
+ Friend WithEvents btnEnvelopes_lastmonth As DevExpress.XtraEditors.SimpleButton
+ Friend WithEvents btnEnvelopes_thismonth As DevExpress.XtraEditors.SimpleButton
+ Friend WithEvents btnEnvelopes_All As DevExpress.XtraEditors.SimpleButton
+ Friend WithEvents GridControlData As DevExpress.XtraGrid.GridControl
+ Friend WithEvents GridViewData As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents GroupControl2 As DevExpress.XtraEditors.GroupControl
+ Friend WithEvents SplitContainerControl2 As DevExpress.XtraEditors.SplitContainerControl
+ Friend WithEvents ChartControl1 As DevExpress.XtraCharts.ChartControl
End Class
diff --git a/EnvelopeGenerator.Form/frmMain.resx b/EnvelopeGenerator.Form/frmMain.resx
index c6a77db3..5baff6eb 100644
--- a/EnvelopeGenerator.Form/frmMain.resx
+++ b/EnvelopeGenerator.Form/frmMain.resx
@@ -764,7 +764,7 @@
Daten
-
+
Funktionen
@@ -1025,6 +1025,291 @@
1
+
+ Fill
+
+
+ 0, 79
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 501, 388
+
+
+ 1
+
+
+ GridControlData
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ SplitContainerControl2.Panel1
+
+
+ 0
+
+
+ Panel1
+
+
+ SplitContainerControl2.Panel1
+
+
+ DevExpress.XtraEditors.SplitGroupPanel, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ SplitContainerControl2
+
+
+ 0
+
+
+ 17, 6
+
+
+ 300, 200
+
+
+ 0
+
+
+ ChartControl1
+
+
+ DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ SplitContainerControl2.Panel2
+
+
+ 0
+
+
+ Panel2
+
+
+ SplitContainerControl2.Panel2
+
+
+ DevExpress.XtraEditors.SplitGroupPanel, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ SplitContainerControl2
+
+
+ 1
+
+
+ 1088, 388
+
+
+ 2
+
+
+ SplitContainerControl2
+
+
+ DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ XtraTabPageAdmin
+
+
+ 0
+
+
+ 496, 5
+
+
+ 427, 68
+
+
+ 2
+
+
+ Diagramme
+
+
+ GroupControl2
+
+
+ DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ PanelControl1
+
+
+ 0
+
+
+ 339, 26
+
+
+ 104, 35
+
+
+ 3
+
+
+ Insgesamt
+
+
+ btnEnvelopes_All
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GroupControl1
+
+
+ 0
+
+
+ 229, 26
+
+
+ 104, 35
+
+
+ 2
+
+
+ Dieses Jahr
+
+
+ btnEnvelopes_thisYear
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GroupControl1
+
+
+ 1
+
+
+ 119, 26
+
+
+ 104, 35
+
+
+ 1
+
+
+ Letzten Monat
+
+
+ btnEnvelopes_lastmonth
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GroupControl1
+
+
+ 2
+
+
+ 9, 26
+
+
+ 104, 35
+
+
+ 0
+
+
+ Diesen Monat
+
+
+ btnEnvelopes_thismonth
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ GroupControl1
+
+
+ 3
+
+
+ 11, 5
+
+
+ 453, 68
+
+
+ 1
+
+
+ Umschläge pro User
+
+
+ GroupControl1
+
+
+ DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ PanelControl1
+
+
+ 1
+
+
+ Top
+
+
+ 0, 0
+
+
+ 1088, 79
+
+
+ 0
+
+
+ PanelControl1
+
+
+ DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ XtraTabPageAdmin
+
+
+ 1
+
+
+ 1088, 467
+
+
+ Auswertungen (Admin)
+
+
+ XtraTabPageAdmin
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ XtraTabControlMain
+
+
+ 2
+
XtraTabControlMain
@@ -1098,7 +1383,7 @@
True
- 263
+ 108
6, 13
@@ -1108,83 +1393,83 @@
- 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
- Bv/c01f/A4y2+8cc2/IPAAAAAElFTkSuQmCC
+ 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
+ 8g8AAAAASUVORK5CYII=
@@ -1403,10 +1688,10 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- RibbonPageGroup2
+
+ RibbonPageFunctions
-
+
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -1505,6 +1790,12 @@
DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ GridViewData
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RefreshTimer
diff --git a/EnvelopeGenerator.Form/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb
index b04a7e74..b6e8f2ac 100644
--- a/EnvelopeGenerator.Form/frmMain.vb
+++ b/EnvelopeGenerator.Form/frmMain.vb
@@ -40,17 +40,22 @@ Public Class frmMain
TempFiles = New TempFiles(LogConfig)
TempFiles.Create()
-
+ MyTempFiles = TempFiles
RefreshHelper = New RefreshHelper(ViewEnvelopes, "Id")
Controller = New EnvelopeListController(State)
+
Try
Me.LookAndFeel.UseDefaultLookAndFeel = False
LookAndFeel.SetSkinStyle(SkinStyle.Office2019White, SkinSvgPalette.DefaultSkin)
Catch ex As Exception
End Try
-
+ If MYUSER.IsAdmin Then
+ XtraTabControlMain.TabPages(2).PageVisible = True
+ Else
+ XtraTabControlMain.TabPages(2).PageVisible = False
+ End If
LoadEnvelopeData()
End Sub
@@ -190,6 +195,8 @@ Public Class frmMain
End Sub
Private Sub XtraTabControl1_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles XtraTabControlMain.SelectedPageChanged
+ RibbonPageFunctions.Enabled = True
+ RibbonPageEnvelopeActions.Enabled = True
Select Case XtraTabControlMain.SelectedTabPageIndex
Case 1
btnEditEnvelope.Enabled = False
@@ -206,6 +213,10 @@ Public Class frmMain
bbtnitmEB.Enabled = False
LoadEnvelopeData()
txtEnvelopeIdLabel.Caption = "No Envelope selected"
+
+ Case 2
+ RibbonPageFunctions.Enabled = False
+ RibbonPageEnvelopeActions.Enabled = False
End Select
End Sub
@@ -565,7 +576,8 @@ Public Class frmMain
For Each oReceiver As EnvelopeReceiver In Receivers
If oReceiver.Email = selReceiver.Email Then
If oController.ActionService.ResendReceiver(oEnvelope, oReceiver) = True Then
- MsgBox(Resources.Envelope.Invitation_successfully_resend, MsgBoxStyle.Information, Text)
+ Dim oMsg = Resources.Envelope.Invitation_successfully_resend.Replace("@Mail", oReceiver.Email)
+ MsgBox(oMsg, MsgBoxStyle.Information, Text)
End If
End If
@@ -583,4 +595,49 @@ Public Class frmMain
txtEnvelopeIdLabel.Caption = String.Format(txtEnvelopeIdLabel.Tag, oEnvelope.Id)
End Sub
+
+ Private Sub btnEnvelopes_thismonth_Click(sender As Object, e As EventArgs) Handles btnEnvelopes_thismonth.Click
+ If SQL_REP_ENV_USER_TM <> String.Empty Then
+ Result_Execute(SQL_REP_ENV_USER_TM)
+ Else
+ GridControlData.DataSource = Nothing
+ End If
+ End Sub
+
+ Private Sub btnEnvelopes_lastmonth_Click(sender As Object, e As EventArgs) Handles btnEnvelopes_lastmonth.Click
+ If SQL_REP_ENV_USER_LM <> String.Empty Then
+ Result_Execute(SQL_REP_ENV_USER_LM)
+ Else
+ GridControlData.DataSource = Nothing
+ End If
+ End Sub
+
+ Private Sub btnEnvelopes_thisYear_Click(sender As Object, e As EventArgs) Handles btnEnvelopes_thisYear.Click
+ If SQL_REP_ENV_USER_Y <> String.Empty Then
+ Result_Execute(SQL_REP_ENV_USER_Y)
+ Else
+ GridControlData.DataSource = Nothing
+ End If
+ End Sub
+
+ Private Sub btnEnvelopes_All_Click(sender As Object, e As EventArgs) Handles btnEnvelopes_All.Click
+ If SQL_REP_ENV_USER_ALL <> String.Empty Then
+ Result_Execute(SQL_REP_ENV_USER_ALL)
+ Else
+ GridControlData.DataSource = Nothing
+ End If
+ End Sub
+ Private Sub Result_Execute(mySQL As String)
+ Try
+ Dim oDT As DataTable = DB_DD_ECM.GetDatatable(mySQL)
+ If Not IsNothing(oDT) Then
+
+ GridControlData.DataSource = oDT
+ Else
+ GridControlData.DataSource = Nothing
+ End If
+ Catch ex As Exception
+
+ End Try
+ End Sub
End Class
\ No newline at end of file
diff --git a/EnvelopeGenerator.Form/frmSplashScreen.vb b/EnvelopeGenerator.Form/frmSplashScreen.vb
index 014be8f5..b5a0c9ca 100644
--- a/EnvelopeGenerator.Form/frmSplashScreen.vb
+++ b/EnvelopeGenerator.Form/frmSplashScreen.vb
@@ -77,12 +77,30 @@ Public Class frmSplashScreen
Worker.ReportProgress(40, "Initializing Configuration")
Thread.Sleep(300)
+ Dim oSQl = "SELECT * FROM TBDD_SQL_COMMANDS"
+ Dim oDT = oState.Database.GetDatatable(oSQl)
+ For Each oROW As DataRow In oDT.Rows
+ If oROW.Item("TITLE") = "REPORT ENV USER THIS_MONTH" Then
+ SQL_REP_ENV_USER_TM = oROW.Item("SQL_COMMAND")
+ ElseIf oROW.Item("TITLE") = "REPORT ENV USER LAST_MONTH" Then
+ SQL_REP_ENV_USER_LM = oROW.Item("SQL_COMMAND")
+ ElseIf oROW.Item("TITLE") = "REPORT ENV USER YEAR" Then
+ SQL_REP_ENV_USER_Y = oROW.Item("SQL_COMMAND")
+ ElseIf oROW.Item("TITLE") = "REPORT ENV USER ALL" Then
+ SQL_REP_ENV_USER_ALL = oROW.Item("SQL_COMMAND")
+ End If
+
+ Next
+ oSQl = "SELECT * FROM TBSIG_CHART"
+ DT_CHARTS = oState.Database.GetDatatable(oSQl)
+
Dim ConfigModel = New ConfigModel(oState)
oState.DbConfig = ConfigModel.LoadConfiguration()
+ DEF_TF_ENABLED = oState.DbConfig.Default_TFA_Enabled
' DOCUMENT_PATH_MOVE_AFTSEND = oState.DbConfig.DOCUMENT_PATH_MOVE_AFTSEND
Worker.ReportProgress(60, "Initializing User")
Dim oKey = oState.Database.GetScalarValue("SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE' and ACTIVE = 1")
- Thread.Sleep(300)
+ Thread.Sleep(300)
If oKey.ToString <> String.Empty Then
MS_GDPICTUREKEY = oKey
End If
@@ -98,6 +116,7 @@ Public Class frmSplashScreen
If oUser IsNot Nothing Then
oUserModel.CheckUserLogin(oUser)
End If
+ MYUSER = oUser
Worker.ReportProgress(100, "Starting Application")
Thread.Sleep(300)
diff --git a/EnvelopeGenerator.Service/App.config b/EnvelopeGenerator.Service/App.config
index 8949adf6..e773d4eb 100644
--- a/EnvelopeGenerator.Service/App.config
+++ b/EnvelopeGenerator.Service/App.config
@@ -1,9 +1,6 @@
-
-
-
@@ -16,11 +13,4 @@
-
-
-
- False
-
-
-
diff --git a/EnvelopeGenerator.Service/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Service/My Project/AssemblyInfo.vb
index e2ef66b7..67d152ca 100644
--- a/EnvelopeGenerator.Service/My Project/AssemblyInfo.vb
+++ b/EnvelopeGenerator.Service/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
-
+
+
diff --git a/EnvelopeGenerator.Service/My Project/Settings.Designer.vb b/EnvelopeGenerator.Service/My Project/Settings.Designer.vb
index 2b9420b0..372c6a03 100644
--- a/EnvelopeGenerator.Service/My Project/Settings.Designer.vb
+++ b/EnvelopeGenerator.Service/My Project/Settings.Designer.vb
@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
'
'------------------------------------------------------------------------------
@@ -22,7 +22,7 @@ Namespace My
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
-#Region "My.Settings Auto-Save Functionality"
+#Region "Automatische My.Settings-Speicherfunktion"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
@@ -53,15 +53,6 @@ Namespace My
Return defaultInstance
End Get
End Property
-
- _
- Public ReadOnly Property RunInDMZ() As Boolean
- Get
- Return CType(Me("RunInDMZ"),Boolean)
- End Get
- End Property
End Class
End Namespace
diff --git a/EnvelopeGenerator.Service/My Project/Settings.settings b/EnvelopeGenerator.Service/My Project/Settings.settings
index 9000e76c..f7f176ac 100644
--- a/EnvelopeGenerator.Service/My Project/Settings.settings
+++ b/EnvelopeGenerator.Service/My Project/Settings.settings
@@ -1,9 +1,5 @@
-
+
-
-
- False
-
-
+
\ No newline at end of file
diff --git a/EnvelopeGenerator.sln b/EnvelopeGenerator.sln
index e5051c8f..93987baf 100644
--- a/EnvelopeGenerator.sln
+++ b/EnvelopeGenerator.sln
@@ -33,8 +33,8 @@ Global
{089D5634-FB6B-42D0-B912-7AA7457044E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{089D5634-FB6B-42D0-B912-7AA7457044E7}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{089D5634-FB6B-42D0-B912-7AA7457044E7}.Release|Any CPU.Build.0 = Debug|Any CPU
- {6D56C01F-D6CB-4D8A-BD3D-4FD34326998C}.Debug|Any CPU.ActiveCfg = Release|Any CPU
- {6D56C01F-D6CB-4D8A-BD3D-4FD34326998C}.Debug|Any CPU.Build.0 = Release|Any CPU
+ {6D56C01F-D6CB-4D8A-BD3D-4FD34326998C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6D56C01F-D6CB-4D8A-BD3D-4FD34326998C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D56C01F-D6CB-4D8A-BD3D-4FD34326998C}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{6D56C01F-D6CB-4D8A-BD3D-4FD34326998C}.Release|Any CPU.Build.0 = Debug|Any CPU
{6EA0C51F-C2B1-4462-8198-3DE0B32B74F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU