From 25f7aeb45c1dc219ab21ec4d6451078b3f67208f Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 6 Dec 2023 12:40:24 +0100 Subject: [PATCH] receiver history --- .../Models/ReceiverModel.vb | 19 +++++++ .../Controllers/EnvelopeEditorController.vb | 56 ++++++++++--------- .../frmEnvelopeEditor.Designer.vb | 14 ++++- EnvelopeGenerator.Form/frmEnvelopeEditor.resx | 14 ++++- EnvelopeGenerator.Form/frmEnvelopeEditor.vb | 4 ++ 5 files changed, 79 insertions(+), 28 deletions(-) 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,6 +219,37 @@ Public Class EnvelopeEditorController End Try End Function + + + 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 + If pNewReceivers.Count = 0 Then + Return True + End If + + Dim oConnection = Database.GetConnection() + Dim oTransaction = oConnection.BeginTransaction() + + Try + If InsertReceivers(pNewReceivers, oTransaction) = False Then + Throw New ApplicationException("Could not insert receivers!") + End If + + oTransaction.Commit() + + Return True + Catch ex As Exception + Logger.Error(ex) + oTransaction.Rollback() + + Return False + + 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) @@ -234,8 +265,6 @@ Public Class EnvelopeEditorController Return Nothing End Try End Function -#End Region - Private Function SaveEnvelopeDocuments(pEnvelope As Envelope, pTransaction As SqlTransaction) As Boolean Try Return pEnvelope.Documents. @@ -249,30 +278,7 @@ Public Class EnvelopeEditorController End Try End Function - Public Function CreateNewReceivers(pNewReceivers As List(Of EnvelopeReceiver)) As Boolean - If pNewReceivers.Count = 0 Then - Return True - End If - - Dim oConnection = Database.GetConnection() - Dim oTransaction = oConnection.BeginTransaction() - Try - If InsertReceivers(pNewReceivers, oTransaction) = False Then - Throw New ApplicationException("Could not insert receivers!") - End If - - oTransaction.Commit() - - Return True - Catch ex As Exception - Logger.Error(ex) - oTransaction.Rollback() - - 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