USP_DATAFORMTEMPLATE_ADD_SIGNATURE

The save procedure used by the add dataform template "Signature Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SIGNERCODE tinyint IN Signer
@NAME nvarchar(255) IN Name
@APPUSERID uniqueidentifier IN Application user
@SIGNATURE varbinary IN
@SIGNATURETHUMBNAIL varbinary IN
@APPLICATIONTYPEINFORMATION xml IN Signature applications

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SIGNATURE
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @SIGNERCODE tinyint = 0,
  @NAME nvarchar(255) = '',
  @APPUSERID uniqueidentifier = null,
  @SIGNATURE varbinary(max) = null,
  @SIGNATURETHUMBNAIL varbinary(max) = null,
  @APPLICATIONTYPEINFORMATION xml = null
)
as

  set nocount on;

  if @ID is null
    set @ID = newid()

  if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

  declare @CURRENTDATE datetime
  set @CURRENTDATE = getdate()

  begin try
      -- handle inserting the data

      insert into dbo.SIGNATURE
        (
      ID,
      SIGNERCODE,
      NAME,
      APPUSERID,
      SIGNATURE,
      SIGNATURETHUMBNAIL,
      ADDEDBYID,
            CHANGEDBYID,
            DATEADDED,
            DATECHANGED
    )
    values
        (
      @ID,
      @SIGNERCODE,
      @NAME,
      @APPUSERID,
      @SIGNATURE,
      @SIGNATURETHUMBNAIL,
      @CHANGEAGENTID
      @CHANGEAGENTID
      @CURRENTDATE
      @CURRENTDATE
    )

    if @APPLICATIONTYPEINFORMATION is not null
    begin
      insert into dbo.SIGNATUREAPPLICATION
      (
        ID,
        SIGNATUREID,
        SIGNATUREAPPLICATIONTYPEID,
        ADDEDBYID,
                CHANGEDBYID,
                DATEADDED,
                DATECHANGED
      )
      select
        newid(),
        @ID,
        T.APPLICATIONTYPEINFORMATION.value('(SIGNATUREAPPLICATIONTYPEID)[1]', 'uniqueidentifier') SIGNATUREAPPLICATIONTYPEID,
        @CHANGEAGENTID
        @CHANGEAGENTID
        @CURRENTDATE
        @CURRENTDATE
      from @APPLICATIONTYPEINFORMATION.nodes('/APPLICATIONTYPEINFORMATION/ITEM') T(APPLICATIONTYPEINFORMATION)
    end
  end try

  begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
  end catch

  return 0