USP_DATAFORMTEMPLATE_ADD_FAFOFFLINEFORMTEMPLATE

The save procedure used by the add dataform template "FAF Offline Form Template Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@EVENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@OFFLINEFORMCATEGORYCODE tinyint IN Offline form category code
@OFFLINEFORMCONTENT nvarchar(max) IN Offline form content

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_FAFOFFLINEFORMTEMPLATE
(
  @ID uniqueidentifier = null output,
    @EVENTID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @OFFLINEFORMCATEGORYCODE tinyint = 0,
  @OFFLINEFORMCONTENT nvarchar(max) = ''
)
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
    if not exists(select ID from FAFOFFLINEFORMTEMPLATE where EVENTID = @EVENTID AND OFFLINEFORMCATEGORYCODE = @OFFLINEFORMCATEGORYCODE)
    -- handle inserting the data
        insert into dbo.FAFOFFLINEFORMTEMPLATE
            (ID, EVENTID, OFFLINEFORMCATEGORYCODE, OFFLINEFORMCONTENT, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
            (@ID, @EVENTID, @OFFLINEFORMCATEGORYCODE, @OFFLINEFORMCONTENT, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
      else
    -- handle updating the data
          update dbo.FAFOFFLINEFORMTEMPLATE set
        OFFLINEFORMCATEGORYCODE = OFFLINEFORMCATEGORYCODE,
        OFFLINEFORMCONTENT = @OFFLINEFORMCONTENT,
              CHANGEDBYID = @CHANGEAGENTID,
              DATECHANGED = @CURRENTDATE
          where EVENTID = @EVENTID 
      AND 
      OFFLINEFORMCATEGORYCODE = @OFFLINEFORMCATEGORYCODE

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0