USP_FAFDEFAULTONLINECONFIRMATIONS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@CLIENTSITESID | int | IN | |
@USERID | int | IN | |
@CLIENTSID | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFDEFAULTONLINECONFIRMATIONS
(
@EVENTID uniqueidentifier,
@CLIENTSITESID int,
@USERID int,
@CLIENTSID int,
@CHANGEAGENTID uniqueidentifier = null
)
as
declare @EMAILTEMPLATEID int
declare @ID uniqueidentifier
declare @name nvarchar(500)
declare @subject nvarchar(500)
declare @eventname nvarchar(200)
declare @index tinyint
declare @confirmationType tinyint
declare @confirmationTypeName nvarchar(100)
declare @content nvarchar(max)
declare @fromaddress nvarchar(500)
declare @fromname nvarchar(500),
@appealid int
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @index = 0
select @fromaddress = ED.EMAILADDRESS, @fromname = C.NAME, @eventname = LEFT(E.NAME,100), @appealid=BBA.ID --, @ClientSitesID = EX.CLIENTSITESID
from dbo.[EVENT] E
join dbo.[EVENTEXTENSION] EX ON E.ID = EX.EVENTID
left join CONSTITUENT C on E.EVENTLOCATIONCONTACTID = C.ID
left join EMAILADDRESS ED on E.EVENTLOCATIONCONTACTID = ED.CONSTITUENTID
left join dbo.BBNCAPPEALIDMAP BBA on BBA.APPEALID = E.APPEALID
where E.ID = @EVENTID
begin try
while @index < 4
begin
SELECT @confirmationType = CASE @index
WHEN 0 THEN 101
WHEN 1 THEN 102
WHEN 2 THEN 103
WHEN 3 THEN 104
END
SELECT @confirmationTypeName = CASE @confirmationType
WHEN 101 THEN 'Registrant confirmation screen'
WHEN 102 THEN 'Sponsor confirmation screen'
WHEN 103 THEN 'Donor confirmation screen'
WHEN 104 THEN 'Contact confirmation screen'
END
SELECT
@EMAILTEMPLATEID = CASE WHEN not exists(select * from EVENTEMAILTEMPLATE where EVENTID = @EVENTID AND CONFIRMATIONTYPECODE = @confirmationType) THEN 0 END
,@ID = CASE WHEN not exists(select * from EVENTEMAILTEMPLATE where EVENTID = @EVENTID AND CONFIRMATIONTYPECODE = @confirmationType) THEN newid() END
, @name = @confirmationTypeName + ' - ' + @eventname
, @subject = N''
, @content = N''
if @EMAILTEMPLATEID = 0
begin
exec spAddUpdate_EmailTemplate @PKID=@EMAILTEMPLATEID output,
@UserID = @USERID,
@ClientsID = @CLIENTSID,
@Name = @name,
@Description = N'',
@ContentHTML = @content,
@RecipientListsXML = N'<root />',
@ContentText = N'',
@FromAddress = @fromaddress,
@FromDisplayName = @fromname,
@Subject = @subject,
@Priority = 3,
@ReplyAddress = @fromaddress,
@ReturnReceipt = 0,
@ReturnReceiptAddress = N'',
@ForwardDSN = 0,
@ForwardDSNAddress = N'',
@GUID = @ID,
@Type = 1,
@DataSourceID = 0,
@ClientSitesID = @CLIENTSITESID,
@AppealID=@appealid;
exec USP_EVENTEMAILTEMPLATE_ADD_EDIT
@ID = @ID
, @EVENTID=@EVENTID
, @CHANGEAGENTID=@CHANGEAGENTID
, @EMAILTEMPLATEID = @EMAILTEMPLATEID
, @CONFIRMATIONTYPECODE = @confirmationType
end
set @index = @index + 1
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0