USP_DATAFORMTEMPLATE_EDITLOAD_SIGNATURE

The load procedure used by the edit dataform template "Signature Edit Data Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@SIGNERCODE tinyint INOUT Signer
@NAME nvarchar(255) INOUT Name
@APPUSERID uniqueidentifier INOUT Application user
@SIGNATURE varbinary INOUT
@SIGNATURETHUMBNAIL varbinary INOUT
@SIGNATURECHANGED bit INOUT Signature changed
@APPLICATIONTYPEINFORMATION xml INOUT Signature applications
@ISEDITFORM bit INOUT

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SIGNATURE(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @TSLONG bigint = 0 output,
    @SIGNERCODE tinyint = null output,
    @NAME nvarchar(255) = null output,
    @APPUSERID uniqueidentifier = null output,
  @SIGNATURE varbinary(max) = null output,
  @SIGNATURETHUMBNAIL varbinary(max) = null output,
  @SIGNATURECHANGED bit = null output,
  @APPLICATIONTYPEINFORMATION xml = null output,
  @ISEDITFORM bit = null output
)
as

    set nocount on;

    -- be sure to set these, in case the select returns no rows

    set @DATALOADED = 0
    set @TSLONG = 0

    -- populate the output parameters, which correspond to fields on the form.  Note that

    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

    -- will display a "no data loaded" message.  Also note that we fetch the TSLONG so that concurrency

    -- can be considered.

    select
        @DATALOADED = 1,
        @TSLONG = TSLONG,
        @SIGNERCODE = SIGNERCODE,
        @NAME = NAME,
        @APPUSERID = APPUSERID,
    @SIGNATURE = SIGNATURE,
    @SIGNATURETHUMBNAIL = SIGNATURETHUMBNAIL,
    @ISEDITFORM = 1
    from dbo.SIGNATURE
    where ID = @ID

  set @APPLICATIONTYPEINFORMATION = 
  (
    select
      SIGNATUREAPPLICATIONTYPE.ID as SIGNATUREAPPLICATIONTYPEID,
      SIGNATUREAPPLICATIONTYPE.TYPE as SIGNATUREAPPLICATIONTYPENAME,
      case when exists (select 1 from dbo.SIGNATUREAPPLICATION where SIGNATUREAPPLICATIONTYPE.ID = SIGNATUREAPPLICATION.SIGNATUREAPPLICATIONTYPEID and
        SIGNATUREAPPLICATION.SIGNATUREID = @ID) then 1 else 0 end ISAVAILABLE
    from dbo.SIGNATUREAPPLICATIONTYPE
    where ISACTIVE = 1
    for xml raw ('ITEM'), type, elements, root('APPLICATIONTYPEINFORMATION'), BINARY BASE64
  )
    return 0;