USP_DATAFORMTEMPLATE_ADD_FAFPROGRAM

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CURRENTAPPUSERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@SITES xml IN
@PREVIOUSCAMPAIGNID uniqueidentifier IN
@SELECTEDEVENTS xml IN
@COPYFROMEVENTCAMPAIGNID uniqueidentifier IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_FAFPROGRAM
(
   @ID uniqueidentifier = null output,
   @CURRENTAPPUSERID uniqueidentifier,
     @CHANGEAGENTID uniqueidentifier = null,    
     @NAME nvarchar(100) = '',
     @DESCRIPTION nvarchar(255) = '',
   @SITES xml = null,
   @PREVIOUSCAMPAIGNID uniqueidentifier = null,
   @SELECTEDEVENTS xml = null,
   @COPYFROMEVENTCAMPAIGNID uniqueidentifier = null
)
as

set nocount on;

declare 
        @DEFAULTSITEID uniqueidentifier = null,
        @dSite nvarchar(200);

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

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

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 
begin
  if @SITES is null
    raiserror('Site is required.',13,1)  
  else
    begin      
      select @DEFAULTSITEID = SITEID from dbo.UFN_SITE_MYSITE_GET(@CURRENTAPPUSERID)
      set @dSite = '<SITEID>'+ cast(@DEFAULTSITEID as nvarchar(40)) +'</SITEID>';
      if CAST(@SITES AS NVARCHAR(MAX)) NOT LIKE '%'+@dSite+'%'
        raiserror('You did not assign your default site to the event campaign.  To continue, edit site security and add your default site.', 13,1)
    end
    exec dbo.USP_EVENTSITE_VALIDATESITES @SITES

end


begin try
  exec dbo.USP_FAFEVENTCAMPAIGN_INITIALIZE_PARAMETER

    -- handle inserting the data
    insert into dbo.FAFPROGRAM
        (ID, NAME, DESCRIPTION, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, PREVIOUSCAMPAIGNID)
    values
        (@ID, @NAME, @DESCRIPTION, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @PREVIOUSCAMPAIGNID)
  exec dbo.USP_FAFPROGRAM_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE 
  update dbo.EVENTEXTENSION set FAFPROGRAMID = @ID, CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
    where EVENTID in (select EVENTCOLLECTION.EVENTID from dbo.UFN_GLOBALCHANGE_GETEVENTLIST_FROMITEMLISTXML(@SELECTEDEVENTS) as EVENTCOLLECTION)

  if @COPYFROMEVENTCAMPAIGNID is not null 
  begin
     exec dbo.USP_FAFEVENTCAMPAIGNCOPY_WRAPPER @SOURCEID = @COPYFROMEVENTCAMPAIGNID, @TARGETEVENTCAMPAIGNID = @ID, @CHANGEAGENTID = @CHANGEAGENTID,  @CURRENTAPPUSERID =  @CURRENTAPPUSERID, @XML = @SITES
  end 
end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0