Imports System.Data.SqlClient Public Class ElementStatusModel Inherits BaseModel Public Sub New(pState As State) MyBase.New(pState) End Sub Public Function Insert(pElementStatus As ElementStatus) As Boolean Try Dim oSql = "INSERT INTO [dbo].[TBSIG_ELEMENT_STATUS] ([ENVELOPE_ID] ,[RECEIVER_ELEMENT_ID] ,[STATUS] ,[STATUS_CHANGED_WHEN] ,[VALUE]) VALUES (@ENVELOPE_ID ,@ELEMENT_ID ,@STATUS ,@STATUS_CHANGED_WHEN ,@VALUE)" Dim oCommand As New SqlCommand(oSql) oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.Int).Value = pElementStatus.EnvelopeId oCommand.Parameters.Add("ELEMENT_ID", SqlDbType.Int).Value = pElementStatus.ElementId oCommand.Parameters.Add("STATUS", SqlDbType.Int).Value = pElementStatus.Status oCommand.Parameters.Add("STATUS_CHANGED_WHEN", SqlDbType.DateTime).Value = Now() oCommand.Parameters.Add("VALUE", SqlDbType.NVarChar).Value = pElementStatus.ElementValue If Database.ExecuteNonQuery(oCommand) Then pElementStatus.Id = GetElementId(pElementStatus) Return True Else Return False End If Catch ex As Exception Logger.Error(ex) Return False End Try End Function Public Function Update(pElementStatus As ElementStatus) As Boolean Try Dim oSql = "UPDATE [dbo].[TBSIG_ELEMENT_STATUS] SET [STATUS] = @STATUS ,[STATUS_CHANGED_WHEN] = @STATUS_CHANGED_WHEN ,[CHANGED_WHEN] = @CHANGED_WHEN ,[VALUE] = @VALUE WHERE GUID = @GUID" Dim oCommand As New SqlCommand(oSql) oCommand.Parameters.Add("GUID", SqlDbType.Int).Value = pElementStatus.Id oCommand.Parameters.Add("STATUS", SqlDbType.Int).Value = pElementStatus.Status oCommand.Parameters.Add("STATUS_CHANGED_WHEN", SqlDbType.DateTime).Value = Now() oCommand.Parameters.Add("CHANGED_WHEN", SqlDbType.DateTime).Value = Now() oCommand.Parameters.Add("VALUE", SqlDbType.NVarChar).Value = pElementStatus.ElementValue If Database.ExecuteNonQuery(oCommand) Then Return True Else Return False End If Catch ex As Exception Logger.Error(ex) Return False End Try End Function Private Function GetElementId(pElement As ElementStatus) As Integer Try Return Database.GetScalarValue($"SELECT MAX(GUID) FROM TBSIG_ELEMENT_STATUS WHERE ENVELOPE_ID = {pElement.EnvelopeId} AND RECEIVER_ELEMENT_ID = {pElement.ElementId}") Catch ex As Exception Logger.Error(ex) Return Nothing End Try End Function End Class