USP_CONDITIONALCONTENTRECIPIENT_BULK_ADD_AVAILABLE

The save procedure used by the add dataform template "ConditionalContentRecipient Add Available Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@EMAILJOBID int 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.
@APPEALLISTID int IN Appeal List ID
@SAMPLESIZE int IN Sample Size
@SAMPLETYPE int IN Sample Type

Definition

Copy


create procedure dbo.USP_CONDITIONALCONTENTRECIPIENT_BULK_ADD_AVAILABLE
(
  @ID uniqueidentifier = null output,
    @EMAILJOBID int,
  @CHANGEAGENTID uniqueidentifier = null,
    @APPEALLISTID int = '',
  @SAMPLESIZE int = -1,
  @SAMPLETYPE int = 0
)
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 @EMAILLISTID int
  select @EMAILLISTID = EMAILLISTID from dbo.EmailProjectAppeal_EmailList where ID = @APPEALLISTID

  declare @ListOrigin INT
  SELECT @ListOrigin = Origin From dbo.EmailList WHERE ID = @EMAILLISTID

  IF @ListOrigin = 2 BEGIN

    declare @BACKOFFICESYSTEMID int
    select top 1 @BACKOFFICESYSTEMID = BBSYSTEM from dbo.EmailList_Query E where E.EmailListID = @EMAILLISTID

    declare @IDS table (ID int)
    insert into @IDS
    exec dbo.spGetAppealQueryListAvailableRecordIDs @SAMPLESIZE, @SAMPLETYPE, @APPEALLISTID

    insert into dbo.CONDITIONALCONTENTRECIPIENT (EMAILJOBID, BOSPID, EMAILADDRESS, EMAILLISTID)
      select @EMAILJOBID, BOSP.ID, EmailAddress, @EMAILLISTID
    from @IDS I
    inner join dbo.BackOfficeSystemPeople BOSP on BOSP.BACKOFFICERECORDID = I.ID
    inner join EmailList_People ELP on ELP.PEOPLEID = BOSP.ID
    WHERE BOSP.BACKOFFICESYSTEMID = @BACKOFFICESYSTEMID
    and ELP.EmailListID = @EMAILLISTID

  END
  ELSE IF @ListOrigin = 1 BEGIN

    declare @IDS2 table (ID int)
    insert into @IDS2
    exec dbo.spGetAppealXListAvailableRecordIDs @SAMPLESIZE, @SAMPLETYPE, @APPEALLISTID

    insert into dbo.CONDITIONALCONTENTRECIPIENT (EMAILJOBID, EMAILLISTUPLOADMASTERLISTID, EMAILADDRESS, EMAILLISTID)
      select @EMAILJOBID, I.ID, ELUM.EmailAddress, @EMAILLISTID
    from @IDS2 I
    inner join EmailListUploadMasterList ELUM on ELUM.BB_XLISTRECORDID = I.ID
    and ELUM.EmailListID = @EMAILLISTID

  END


end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0