USP_DATAFORMTEMPLATE_ADD_ANONYMOUSEMAILSUBSCRIBER

The save procedure used by the add dataform template "Anonymous Email Subscriber Add Data 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.
@EMAILADDRESS UDT_EMAILADDRESS IN Email Address

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ANONYMOUSEMAILSUBSCRIBER
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
      @EMAILADDRESS UDT_EMAILADDRESS
)
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

  declare @EXISTINGID uniqueidentifier
  set @EXISTINGID = (select top 1 ID from dbo.ANONYMOUSEMAILSUBSCRIBER where EMAILADDRESS = @EMAILADDRESS)

  if @EXISTINGID is not null
    set @ID = @EXISTINGID
  else
    insert into dbo.ANONYMOUSEMAILSUBSCRIBER
    (ID, EMAILADDRESS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
    (@ID, @EMAILADDRESS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0