diff --git a/EnvelopeGenerator.Common/Models/ReceiverModel.vb b/EnvelopeGenerator.Common/Models/ReceiverModel.vb index a518a75d..be33900e 100644 --- a/EnvelopeGenerator.Common/Models/ReceiverModel.vb +++ b/EnvelopeGenerator.Common/Models/ReceiverModel.vb @@ -159,6 +159,25 @@ Public Class ReceiverModel End Try End Function + Public Function ListAllEnvelopeReceiverAddresses(pUserId As Integer) As IEnumerable(Of String) + Try + Dim oSql = $"SELECT DISTINCT T.EMAIL_ADDRESS FROM TBSIG_RECEIVER T + JOIN TBSIG_ENVELOPE_RECEIVER T2 ON T.GUID = T2.RECEIVER_ID + JOIN TBSIG_ENVELOPE T3 ON T2.ENVELOPE_ID = T3.GUID + WHERE T3.USER_ID = {pUserId}" + Dim oTable = Database.GetDatatable(oSql) + + Return oTable?.Rows.Cast(Of DataRow). + Select(Function(r) r.Item("EMAIL_ADDRESS")). + Cast(Of String). + ToList() + + Catch ex As Exception + Logger.Error(ex) + Return New List(Of String) + End Try + End Function + Public Function ListReceivers(pReceiversFromGrid As List(Of EnvelopeReceiver)) As IEnumerable(Of EnvelopeReceiver) Try If pReceiversFromGrid.Count = 0 Then diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb index 39567bb6..974c501c 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb @@ -219,34 +219,10 @@ Public Class EnvelopeEditorController End Try End Function - Private Function GetEnvelopePath(pEnvelope As Envelope) As String - Try - Dim oEnvelopePath As String = Path.Combine(State.DbConfig.DocumentPath, pEnvelope.Uuid) - If Not Directory.Exists(oEnvelopePath) Then - Directory.CreateDirectory(oEnvelopePath) - End If - Return oEnvelopePath - - Catch ex As Exception - Logger.Error(ex) - Return Nothing - End Try - End Function -#End Region - - Private Function SaveEnvelopeDocuments(pEnvelope As Envelope, pTransaction As SqlTransaction) As Boolean - Try - Return pEnvelope.Documents. - Where(Function(d) d.Id = 0). - Select(Function(d) DocumentModel.Insert(pEnvelope, d, pTransaction)). - All(Function(pResult) pResult = True) - - Catch ex As Exception - Logger.Error(ex) - Return False - End Try + Public Function GetEnvelopeReceiverAddresses(pUserId As Integer) As List(Of String) + Return ReceiverModel.ListAllEnvelopeReceiverAddresses(pUserId) End Function Public Function CreateNewReceivers(pNewReceivers As List(Of EnvelopeReceiver)) As Boolean @@ -273,6 +249,36 @@ Public Class EnvelopeEditorController End Try End Function +#End Region + Private Function GetEnvelopePath(pEnvelope As Envelope) As String + Try + Dim oEnvelopePath As String = Path.Combine(State.DbConfig.DocumentPath, pEnvelope.Uuid) + + If Not Directory.Exists(oEnvelopePath) Then + Directory.CreateDirectory(oEnvelopePath) + End If + + Return oEnvelopePath + + Catch ex As Exception + Logger.Error(ex) + Return Nothing + End Try + End Function + Private Function SaveEnvelopeDocuments(pEnvelope As Envelope, pTransaction As SqlTransaction) As Boolean + Try + Return pEnvelope.Documents. + Where(Function(d) d.Id = 0). + Select(Function(d) DocumentModel.Insert(pEnvelope, d, pTransaction)). + All(Function(pResult) pResult = True) + + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + + Private Function SaveEnvelopeReceivers(pEnvelope As Envelope, pTransaction As SqlTransaction) As Boolean Try diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb index f402a629..3974596a 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb @@ -88,6 +88,7 @@ Partial Public Class frmEnvelopeEditor Me.FrmEditorBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.EnvelopeDocumentBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.RepositoryItemComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.Panel1.SuspendLayout() @@ -136,6 +137,7 @@ Partial Public Class frmEnvelopeEditor CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.FrmEditorBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.EnvelopeDocumentBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'SplashScreenManager1 @@ -384,7 +386,7 @@ Partial Public Class frmEnvelopeEditor Me.GridReceivers.MainView = Me.ViewReceivers Me.GridReceivers.MenuManager = Me.RibbonControl1 Me.GridReceivers.Name = "GridReceivers" - Me.GridReceivers.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemEmailEdit, Me.RepositoryItemPictureEdit1, Me.RepositoryItemColorPickEdit1, Me.RepositoryItemColorEdit1, Me.RepositoryItemImageEdit1, Me.RepositoryItemPictureEdit2}) + Me.GridReceivers.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemEmailEdit, Me.RepositoryItemPictureEdit1, Me.RepositoryItemColorPickEdit1, Me.RepositoryItemColorEdit1, Me.RepositoryItemImageEdit1, Me.RepositoryItemPictureEdit2, Me.RepositoryItemComboBox1}) Me.GridReceivers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewReceivers}) ' 'EnvelopeReceiverBindingSource @@ -428,7 +430,7 @@ Partial Public Class frmEnvelopeEditor ' 'colEmail ' - Me.colEmail.ColumnEdit = Me.RepositoryItemEmailEdit + Me.colEmail.ColumnEdit = Me.RepositoryItemComboBox1 Me.colEmail.FieldName = "Email" Me.colEmail.Name = "colEmail" Me.colEmail.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.[False] @@ -580,6 +582,12 @@ Partial Public Class frmEnvelopeEditor Me.OpenFileDialog1.FileName = "OpenFileDialog1" resources.ApplyResources(Me.OpenFileDialog1, "OpenFileDialog1") ' + 'RepositoryItemComboBox1 + ' + resources.ApplyResources(Me.RepositoryItemComboBox1, "RepositoryItemComboBox1") + Me.RepositoryItemComboBox1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("RepositoryItemComboBox1.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))}) + Me.RepositoryItemComboBox1.Name = "RepositoryItemComboBox1" + ' 'frmEnvelopeEditor ' resources.ApplyResources(Me, "$this") @@ -637,6 +645,7 @@ Partial Public Class frmEnvelopeEditor CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.FrmEditorBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.EnvelopeDocumentBindingSource, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -695,6 +704,7 @@ Partial Public Class frmEnvelopeEditor Friend WithEvents RepositoryItemColorEdit1 As Repository.RepositoryItemColorEdit Friend WithEvents RepositoryItemImageEdit1 As Repository.RepositoryItemImageEdit Friend WithEvents RepositoryItemPictureEdit2 As Repository.RepositoryItemPictureEdit + Friend WithEvents RepositoryItemComboBox1 As Repository.RepositoryItemComboBox #End Region diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx index 67c000af..500e0b93 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx @@ -489,9 +489,12 @@ 40 - + False + + Combo + True @@ -510,6 +513,9 @@ 444 + + False + False @@ -1080,6 +1086,12 @@ System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + RepositoryItemComboBox1 + + + DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.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 32327cab..6f1b71b7 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb @@ -85,6 +85,10 @@ Partial Public Class frmEnvelopeEditor GridDocuments.DataSource = Documents GridReceivers.DataSource = Receivers + Dim oAddresses = Controller.GetEnvelopeReceiverAddresses(State.UserId) + RepositoryItemComboBox1.Items.Clear() + RepositoryItemComboBox1.Items.AddRange(oAddresses) + SetFormTitle(Controller.Envelope.Title) End Sub