diff --git a/EnvelopeGenerator.Common/Models/ReceiverModel.vb b/EnvelopeGenerator.Common/Models/ReceiverModel.vb index 3718e5f0..d9587b1a 100644 --- a/EnvelopeGenerator.Common/Models/ReceiverModel.vb +++ b/EnvelopeGenerator.Common/Models/ReceiverModel.vb @@ -1,5 +1,6 @@ Imports System.Data.SqlClient Imports System.Net.Mail +Imports DevExpress.DataProcessing Imports DigitalData.Modules.Base Imports EnvelopeGenerator.Common.Constants @@ -212,16 +213,17 @@ Public Class ReceiverModel End Function Public Function GetById(pReceiverId As Integer) As EnvelopeReceiver - Try - Dim oSql = $"SELECT * FROM [dbo].[VWSIG_ENVELOPE_RECEIVERS] WHERE GUID = {pReceiverId}" - Dim oTable = Database.GetDatatable(oSql) + 'Try + ' Dim oSql = $"SELECT * FROM [dbo].[VWSIG_ENVELOPE_RECEIVERS] WHERE RECEIVER_ID = {pReceiverId}" + ' Dim oTable = Database.GetDatatable(oSql) - Return ToReceiver(oTable) + ' Return ToReceiver(oTable) - Catch ex As Exception - Logger.Error(ex) - Return Nothing - End Try + 'Catch ex As Exception + ' Logger.Error(ex) + ' Return Nothing + 'End Try + Return Nothing End Function Public Function GetReceiverIdBySignature(pSignature As String) As Integer @@ -233,6 +235,23 @@ Public Class ReceiverModel End Try End Function + Public Function GetLastUsedReceiverName(pEmailAddress As String, pUserId As Integer) As String + Try + Dim oSql As String + oSql = "SELECT TOP 1 [NAME] FROM dbo.VWSIG_ENVELOPE_RECEIVERS " + oSql += $" WHERE ENVELOPE_ID IN (SELECT GUID FROM dbo.TBSIG_ENVELOPE WHERE [USER_ID] = {pUserId}) " + oSql += $" AND EMAIL_ADDRESS = '{pEmailAddress}' " + oSql += " AND Len([NAME]) > 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 Return Database.GetScalarValue($"SELECT GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = '{pEmailAddress}'", pTransaction) diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb index 958ccef6..9cf11049 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb @@ -365,4 +365,11 @@ Public Class EnvelopeEditorController End If End Function + Public Function GetLastNameByEmailAdress(pEmailAdress As String) As String + If (String.IsNullOrEmpty(pEmailAdress) = False) Then + Return ReceiverModel.GetLastUsedReceiverName(pEmailAdress, Envelope.UserId) + Else + Return String.Empty + End If + End Function End Class diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb index 03a778b3..89304489 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb @@ -419,4 +419,21 @@ Partial Public Class frmEnvelopeEditor RibbonPageGroupAddSignature_Enabled() End Sub + Private Sub ViewReceivers_CellValueChanging(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles ViewReceivers.CellValueChanging + 'If e.Column.FieldName = "Email" Then + ' Dim oEmailAdress As String = DirectCast(e.Value, String) + ' Dim oLastName As String = Controller.GetLastNameByEmailAdress(oEmailAdress) + 'End If + End Sub + + Private Sub ViewReceivers_CellValueChanged(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles ViewReceivers.CellValueChanged + If e.Column.FieldName = "Email" Then + Dim oLastCellValue = ViewReceivers.GetRowCellValue(e.RowHandle, "Name") + If oLastCellValue Is Nothing Then + Dim oEmailAdress As String = DirectCast(e.Value, String) + Dim oLastName As String = Controller.GetLastNameByEmailAdress(oEmailAdress) + ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns("Name"), oLastName) + End If + End If + End Sub End Class diff --git a/EnvelopeGenerator.Form/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb index e0db4eef..d01daaed 100644 --- a/EnvelopeGenerator.Form/frmMain.vb +++ b/EnvelopeGenerator.Form/frmMain.vb @@ -35,7 +35,7 @@ Public Class frmMain RefreshHelper = New RefreshHelper(ViewEnvelopes, "Id") Try - ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath) + ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath, Application.CommonAppDataPath, Application.StartupPath) If ConfigManager.Config.ConnectionString = String.Empty Then Dim oSQLConfig As New frmSQLConfig(LogConfig)