57 lines
2.0 KiB
VB.net
57 lines
2.0 KiB
VB.net
Imports System.Data
|
|
Imports DigitalData.Modules.Base
|
|
|
|
Public Class ElementModel
|
|
Inherits BaseModel
|
|
|
|
Public Sub New(pState As State)
|
|
MyBase.New(pState)
|
|
End Sub
|
|
|
|
Private Function ToElement(pRow As DataRow) As EnvelopeDocumentElement
|
|
Return New EnvelopeDocumentElement() With {
|
|
.Id = pRow.ItemEx("GUID", 0),
|
|
.DocumentId = pRow.ItemEx("DOCUMENT_ID", 0),
|
|
.ReceiverId = pRow.ItemEx("RECEIVER_ID", 0),
|
|
.ElementType = [Enum].Parse(GetType(Constants.ElementType), pRow.ItemEx("ELEMENT_TYPE", Constants.ElementType.Signature.ToString)),
|
|
.X = pRow.ItemEx("POSITION_X", 0.0),
|
|
.Y = pRow.ItemEx("POSITION_Y", 0.0),
|
|
.Width = pRow.ItemEx("WIDTH", 0.0),
|
|
.Height = pRow.ItemEx("HEIGHT", 0.0),
|
|
.Page = pRow.ItemEx("PAGE", 0),
|
|
.AnnotationIndex = pRow.ItemEx("ANNOTATION_INDEX", 0)
|
|
}
|
|
End Function
|
|
|
|
Public Function ElementsExist(pEnvelopeId As Integer, pReceiverId As Integer) As Boolean
|
|
Try
|
|
Dim oSql = $"SELECT COUNT(*) FROM [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT] T
|
|
JOIN TBSIG_ENVELOPE_DOCUMENT T2 ON T.DOCUMENT_ID = T2.GUID
|
|
WHERE T.RECEIVER_ID = {pReceiverId} AND T2.ENVELOPE_ID = {pEnvelopeId}"
|
|
Dim oElementCount As Integer = Database.GetScalarValue(oSql)
|
|
|
|
Return oElementCount > 0
|
|
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Public Function List(pDocumentId As Integer) As List(Of EnvelopeDocumentElement)
|
|
Try
|
|
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT] WHERE DOCUMENT_ID = {pDocumentId} ORDER BY PAGE ASC, ANNOTATION_INDEX ASC"
|
|
Dim oTable = Database.GetDatatable(oSql)
|
|
|
|
Return oTable?.Rows.Cast(Of DataRow).
|
|
Select(AddressOf ToElement).
|
|
ToList()
|
|
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
End Class
|