USP_FAFEVENTEMAILTEMPLATE_ADDUPDATE
Add or update FAF Event email template.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN | |
@CLIENTSITEID | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@EMAILTEMPLATEID | int | IN | |
@USERID | int | IN | |
@ClientsID | int | IN | |
@NAME | nvarchar(184) | IN | |
@DESCRIPTION | nvarchar(500) | IN | |
@CONTENTHTML | nvarchar(max) | IN | |
@SUBJECT | nvarchar(500) | IN | |
@FROMADDRESS | nvarchar(500) | IN | |
@FROMNAME | nvarchar(500) | IN | |
@REPLYADDRESS | nvarchar(500) | IN | |
@FAFEMAILTYPECODE | tinyint | IN | |
@ISAVAILABLETOINDIVIDUAL | bit | IN | |
@ISAVAILABLETOHOUSEHOLD | bit | IN | |
@ISAVAILABLETOTEAMMEMBER | bit | IN | |
@ISAVAILABLETOTEAMLEADER | bit | IN | |
@ISAVAILABLETOCOMPANYLEADER | bit | IN | |
@ISAVAILABLETOFUNDRAISINGCOACH | bit | IN | |
@ISAVAILABLETOSPONSOR | bit | IN | |
@RECIPIENTDONOR | bit | IN | |
@RECIPIENTPROSPECT | bit | IN | |
@RECIPIENTINDIVIDUAL | bit | IN | |
@RECIPIENTHOUSEHOLDMEMBER | bit | IN | |
@RECIPIENTHOUSEHOLDLEADER | bit | IN | |
@RECIPIENTTEAMMEMBER | bit | IN | |
@RECIPIENTTEAMLEADER | bit | IN | |
@RECIPIENTCOMPANYLEADER | bit | IN | |
@RECIPIENTSTATUSPREVIOUS | bit | IN | |
@RECIPIENTSTATUSCURRENT | bit | IN | |
@AVAILABLEASLETTER | bit | IN | |
@ISAVAILABLETOHOUSEHOLDMEMBER | bit | IN | |
@FAFTASKID | uniqueidentifier | IN | |
@ISDEFAULTFORTASK | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFEVENTEMAILTEMPLATE_ADDUPDATE
(
@ID uniqueidentifier = null,
@EVENTID uniqueidentifier,
@CLIENTSITEID int,
@CHANGEAGENTID uniqueidentifier = null,
@EMAILTEMPLATEID int = 0, -- leave this zero if want to add new email template
@USERID int,
@ClientsID int,
@NAME nvarchar(184) = null,
@DESCRIPTION nvarchar(500) = '',
@CONTENTHTML nvarchar(max),
@SUBJECT nvarchar(500),
@FROMADDRESS nvarchar(500) = '',
@FROMNAME nvarchar(500) = '',
@REPLYADDRESS nvarchar(500) = '',
@FAFEMAILTYPECODE tinyint,
@ISAVAILABLETOINDIVIDUAL bit = 0,
@ISAVAILABLETOHOUSEHOLD bit = 0,
@ISAVAILABLETOTEAMMEMBER bit = 0,
@ISAVAILABLETOTEAMLEADER bit = 0,
@ISAVAILABLETOCOMPANYLEADER bit = 0,
@ISAVAILABLETOFUNDRAISINGCOACH bit = 0,
@ISAVAILABLETOSPONSOR bit = 0,
@RECIPIENTDONOR bit = 0,
@RECIPIENTPROSPECT bit = 0,
@RECIPIENTINDIVIDUAL bit = 0,
@RECIPIENTHOUSEHOLDMEMBER bit = 0,
@RECIPIENTHOUSEHOLDLEADER bit = 0,
@RECIPIENTTEAMMEMBER bit = 0,
@RECIPIENTTEAMLEADER bit = 0,
@RECIPIENTCOMPANYLEADER bit = 0,
@RECIPIENTSTATUSPREVIOUS bit = 0,
@RECIPIENTSTATUSCURRENT bit = 0,
@AVAILABLEASLETTER bit = 0,
@ISAVAILABLETOHOUSEHOLDMEMBER bit = 0,
@FAFTASKID uniqueidentifier = null,
@ISDEFAULTFORTASK bit = 0
)
as
declare @TYPE tinyint,
@tmpemailtemplateid int,
@appealid int
set @tmpemailtemplateid = 0
set @TYPE = 0
select @appealid=BBA.ID from dbo.EVENT E
join dbo.EVENTEXTENSION EX on E.ID = EX.EVENTID and EX.EVENTID = @EVENTID
left join dbo.BBNCAPPEALIDMAP BBA on E.APPEALID = BBA.APPEALID
---added new type 34; other types should have also been added, except 33
if @FAFEMAILTYPECODE >= 20 and @FAFEMAILTYPECODE <= 34 and @FAFEMAILTYPECODE <> 33
set @TYPE = 13
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if @ID is null
set @ID = newid()
begin try
if @EMAILTEMPLATEID = 0
begin
select @EMAILTEMPLATEID=ID from dbo.EMAILTEMPLATE where ClientSitesID = @CLIENTSITEID and Name = @NAME
if @EMAILTEMPLATEID > 0
raiserror('DUPLICATTEMPLATEENAME', 13,1)
end
else
begin
select @tmpemailtemplateid = ET.ID from EVENTEMAILTEMPLATE EET
join dbo.EMAILTEMPLATE ET on EET.EMAILTEMPLATEID = ET.ID
where EET.EVENTID = @EVENTID and ClientSitesID = @CLIENTSITEID and Name = @NAME
if @tmpemailtemplateid <> 0 and @EMAILTEMPLATEID <> @tmpemailtemplateid
raiserror('DUPLICATTEMPLATEENAME', 13,1)
end
exec spAddUpdate_EmailTemplate @PKID=@EMAILTEMPLATEID output,
@UserID = @USERID,
@ClientsID = @ClientsID,
@Name = @NAME,
@Description = @DESCRIPTION,
@ContentHTML = @CONTENTHTML,
@RecipientListsXML = N'<root />',
@ContentText = N'',
@FromAddress = @FROMADDRESS,
@FromDisplayName = @FROMNAME,
@Subject = @SUBJECT,
@Priority = 3,
@ReplyAddress = @REPLYADDRESS,
@ReturnReceipt = 0,
@ReturnReceiptAddress = N'',
@ForwardDSN = 0,
@ForwardDSNAddress = N'',
@GUID = @ID,
@Type = @TYPE,
@DataSourceID = 0,
@ClientSitesID = @CLIENTSITEID,
@AppealID=@appealid;
exec USP_EVENTEMAILTEMPLATE_ADD_EDIT @ID = @ID output, @CHANGEAGENTID=@CHANGEAGENTID, @EVENTID=@EVENTID, @EMAILTEMPLATEID = @EMAILTEMPLATEID, @CONFIRMATIONTYPECODE = @FAFEMAILTYPECODE,
@ISAVAILABLETOINDIVIDUAL = @ISAVAILABLETOINDIVIDUAL, @ISAVAILABLETOHOUSEHOLD = @ISAVAILABLETOHOUSEHOLD, @ISAVAILABLETOTEAMMEMBER = @ISAVAILABLETOTEAMMEMBER,
@ISAVAILABLETOTEAMLEADER = @ISAVAILABLETOTEAMLEADER, @ISAVAILABLETOCOMPANYLEADER = @ISAVAILABLETOCOMPANYLEADER,
@ISAVAILABLETOFUNDRAISINGCOACH = @ISAVAILABLETOFUNDRAISINGCOACH, @ISAVAILABLETOSPONSOR = @ISAVAILABLETOSPONSOR,
@RECIPIENTDONOR = @RECIPIENTDONOR, @RECIPIENTPROSPECT = @RECIPIENTPROSPECT, @RECIPIENTINDIVIDUAL = @RECIPIENTINDIVIDUAL,
@RECIPIENTHOUSEHOLDMEMBER = @RECIPIENTHOUSEHOLDMEMBER, @RECIPIENTHOUSEHOLDLEADER = @RECIPIENTHOUSEHOLDLEADER, @RECIPIENTTEAMMEMBER = @RECIPIENTTEAMMEMBER,
@RECIPIENTTEAMLEADER = @RECIPIENTTEAMLEADER, @RECIPIENTCOMPANYLEADER = @RECIPIENTCOMPANYLEADER, @RECIPIENTSTATUSPREVIOUS = @RECIPIENTSTATUSPREVIOUS,
@RECIPIENTSTATUSCURRENT = @RECIPIENTSTATUSCURRENT, @AVAILABLEASLETTER = @AVAILABLEASLETTER, @ISAVAILABLETOHOUSEHOLDMEMBER = @ISAVAILABLETOHOUSEHOLDMEMBER,
@FAFTASKID = @FAFTASKID, @ISDEFAULTFORTASK = @ISDEFAULTFORTASK;
select @ISDEFAULTFORTASK
select @EMAILTEMPLATEID
--if @ISDEFAULTFORTASK=1, then make sure no other templates for that event and task have ISDEFAULTFORTASK=1
if @ISDEFAULTFORTASK = 1
begin
UPDATE EVENTEMAILTEMPLATE
SET ISDEFAULTFORTASK=0
WHERE EVENTID=@EVENTID AND FAFTASKID=@FAFTASKID AND EMAILTEMPLATEID <> @EMAILTEMPLATEID
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0