Replaced Constants.ContractType enum with integer property in EnvelopeType. Updated related references in EnvelopeEditorController. Removed EnvelopeType variable from ModuleSettings. Made EnvelopeType property bindable and initialized in frmEnvelopeMainData to improve consistency and simplify contract type management.
197 lines
8.3 KiB
VB.net
197 lines
8.3 KiB
VB.net
Imports EnvelopeGenerator.CommonServices
|
|
Imports EnvelopeGenerator.CommonServices.My
|
|
Imports EnvelopeGenerator.Domain
|
|
Imports System.ComponentModel
|
|
Imports EnvelopeGenerator.Domain.Constants
|
|
Imports EnvelopeGenerator.Domain.Entities
|
|
|
|
|
|
Public Class frmEnvelopeMainData
|
|
Private FormLoaded As Boolean = False
|
|
Public Property Envelope As Entities.Envelope = New Entities.Envelope()
|
|
Public Property NewEnvelopeMode As Boolean = True
|
|
|
|
Private Property EnvelopeTypeModel As EnvelopeTypeModel
|
|
|
|
<Bindable(True)>
|
|
Private Property EnvelopeType As New EnvelopeType
|
|
|
|
Public Property State As State
|
|
|
|
Public Sub New()
|
|
InitializeComponent()
|
|
End Sub
|
|
|
|
Private Sub frmEnvelopeMainData_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
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()
|
|
|
|
If oTypes.Count = 0 Then
|
|
MsgBox(Resources.Envelope.No_template, MsgBoxStyle.Exclamation, Text)
|
|
Close()
|
|
Exit Sub
|
|
End If
|
|
|
|
|
|
' Dim oTranslatedVerificationTypeList = VerificationTypeList.Select(AddressOf TranslateVerificationTypeType).ToList()
|
|
|
|
Dim certificationTypeList = [Enum].GetValues(GetType(CertificationType)).Cast(Of CertificationType)()
|
|
Dim oTranslatedCertificationTypeList = certificationTypeList.Select(AddressOf TranslateCertificationType).ToList()
|
|
|
|
cmbCertificationType.Properties.Items.AddRange(oTranslatedCertificationTypeList)
|
|
|
|
|
|
Dim finalEmailTypeList = [Enum].GetValues(GetType(FinalEmailType)).Cast(Of FinalEmailType)()
|
|
Dim oTranslatedFinalEmailTypeList = finalEmailTypeList.Select(AddressOf TranslateFinalEmailType).ToList()
|
|
|
|
cmbEmailToCreator.Properties.Items.AddRange(oTranslatedFinalEmailTypeList)
|
|
cmbEmailToReceivers.Properties.Items.AddRange(oTranslatedFinalEmailTypeList)
|
|
|
|
cmbEnvelopeType.Properties.Items.AddRange(oTypes.ToList)
|
|
cmbLanguage.Properties.Items.AddRange(New List(Of String) From {"de", "en"})
|
|
|
|
groupAllOptions.Expanded = False
|
|
EnvelopeType = oTypes.FirstOrDefault()
|
|
If NewEnvelopeMode = True Then
|
|
|
|
|
|
' This will trigger loading values from the type
|
|
cmbEnvelopeType.EditValue = EnvelopeType
|
|
chked_2Faktor.EditValue = DEF_TF_ENABLED
|
|
|
|
Else
|
|
If IsNothing(Envelope.EnvelopeType) Then
|
|
Envelope.EnvelopeType = EnvelopeType
|
|
End If
|
|
If Envelope.EnvelopeType.ContractType = 0 Then
|
|
cmbEnvelopeType.EditValue = EnvelopeType
|
|
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()
|
|
End If
|
|
|
|
|
|
' 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, Resources.Envelope.Unexpected_Error)
|
|
End Try
|
|
|
|
|
|
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)
|
|
|
|
If oMissingParams = True Then
|
|
Me.DialogResult = DialogResult.None
|
|
txtTitle.Focus()
|
|
Return
|
|
End If
|
|
|
|
Dim oEnvelopeType = DirectCast(cmbEnvelopeType.EditValue, EnvelopeType)
|
|
If IsNothing(oEnvelopeType) Then
|
|
oEnvelopeType = EnvelopeType
|
|
End If
|
|
Envelope.Title = txtTitle.EditValue.ToString
|
|
Envelope.EnvelopeType = oEnvelopeType
|
|
Envelope.EnvelopeTypeId = IIf(IsNothing(oEnvelopeType), 0, oEnvelopeType.Id)
|
|
Envelope.CertificationType = cmbCertificationType.SelectedIndex + 1
|
|
Envelope.Language = cmbLanguage.EditValue
|
|
Envelope.UseAccessCode = chkUseAccessCode.EditValue
|
|
Envelope.SendReminderEmails = chkSendReminderEmails.EditValue
|
|
Envelope.FirstReminderDays = spnFirstReminderDays.EditValue
|
|
Envelope.ReminderIntervalDays = spnReminderIntervalDays.EditValue
|
|
Envelope.ExpiresWhenDays = spnExpiresDays.EditValue
|
|
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 - jetzt sollte es gehen.
|
|
Envelope.EnvelopeType = EnvelopeType
|
|
End Sub
|
|
|
|
Private Sub frmEnvelopeMainData_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
SetFormHeight()
|
|
CheckAccessCode()
|
|
FormLoaded = True
|
|
|
|
End Sub
|
|
|
|
Private Sub SetFormHeight()
|
|
ClientSize = New Size(ClientSize.Width, LayoutControl1.Root.MinSize.Height)
|
|
End Sub
|
|
|
|
Private Sub LayoutControl1_GroupExpandChanged(sender As Object, e As DevExpress.XtraLayout.Utils.LayoutGroupEventArgs) Handles LayoutControl1.GroupExpandChanged
|
|
If e.Group.Name = groupAllOptions.Name Then
|
|
SetFormHeight()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub cmbContractType_SelectedValueChanged(sender As Object, e As EventArgs) Handles cmbEnvelopeType.SelectedValueChanged
|
|
Dim oSelectedType As EnvelopeType = cmbEnvelopeType.SelectedItem
|
|
|
|
If oSelectedType Is Nothing Then
|
|
Exit Sub
|
|
End If
|
|
|
|
EnvelopeType = oSelectedType
|
|
|
|
cmbLanguage.EditValue = oSelectedType.Language
|
|
chkUseAccessCode.EditValue = oSelectedType.UseAccessCode
|
|
chkSendReminderEmails.EditValue = oSelectedType.SendReminderEmails
|
|
spnFirstReminderDays.EditValue = oSelectedType.FirstReminderDays
|
|
spnReminderIntervalDays.EditValue = oSelectedType.ReminderIntervalDays
|
|
spnExpiresDays.EditValue = oSelectedType.ExpiresWhenDays
|
|
spnExpiresWarningDays.EditValue = oSelectedType.ExpiresWarningWhenDays
|
|
|
|
cmbCertificationType.SelectedIndex = oSelectedType.CertificationType - 1
|
|
cmbEmailToCreator.SelectedIndex = oSelectedType.FinalEmailToCreator
|
|
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 |