USP_FAFEVENT_GETEVENTEMAILTEMPLATE_ADDFROMXML
Add FAF event email templates.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@XML | xml | IN | |
@USERID | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFEVENT_GETEVENTEMAILTEMPLATE_ADDFROMXML
(
@EVENTID uniqueidentifier,
@XML xml,
@USERID int,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null
)
as
set nocount on;
declare @ClientsID int,
@CLIENTSITESID int
if @CHANGEAGENTID is null
exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if @CHANGEDATE is null
set @CHANGEDATE = getdate()
Select @ClientsID=CS.ClientsID, @CLIENTSITESID=CS.ID from dbo.EVENTEXTENSION EX
join dbo.ClientSites CS on EX.ClientSitesID = CS.ID
where EX.EVENTID = @EVENTID
select * into #FAFEmailTemplate
from dbo.UFN_FAFEVENT_GETEVENTEMAILTEMPLATE_FROMITEMLISTXML(@XML)
update #FAFEmailTemplate set Guid = NEWID() where (Guid is null or Guid = '00000000-0000-0000-0000-000000000000')
declare @EVENTNAME as nvarchar(max)
SELECT @EVENTNAME = name from dbo.EVENT where ID=@EVENTID
insert into dbo.EmailTemplate
(ClientsID, Name, Description, OwnerID, Deleted, Guid, ContentHTML,
FromAddress, FromDisplayName, Subject, Priority, ReplyAddress,
Type,ClientSitesID, CopySourceID, CopyBatchGUID, DataSourceID)
select @ClientsID, LEFT(@EVENTNAME,100) + ': participant communication template - ' + CAST(newid() AS nvarchar(max)), Description, @USERID, Deleted, Guid, dbo.UFN_UPDATECOPYCONTENTHTML(ContentHTML, CopyBatchGuid),
FromAddress,FromDisplayName, Subject,Priority,ReplyAddress,
Type,@CLIENTSITESID,CopySourceID,CopyBatchGUID,DataSourceID
from #FAFEmailTemplate
insert into dbo.EMAILTEMPLATEEXTENSION
(ID, EMAILTEMPLATEID, CCEMAILADDRESSES,ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select ET.Guid, ET.ID, ETX.CCEMAILADDRESSES,@CHANGEAGENTID,@CHANGEAGENTID,@CHANGEDATE,@CHANGEDATE
from dbo.#FAFEmailTemplate ETX
join dbo.EmailTemplate ET on ET.CopySourceID = ETX.CopySourceID and ET.ClientSitesID = @CLIENTSITESID
where CCEMAILADDRESSES is not null and CCEMAILADDRESSES <> ''
insert into dbo.NC_Notification
(NotificationTypeID, DisplayName, Description, EmailTemplateID, Enabled)
select
NOTIFICATIONTYPEID, NOTICATIONNAME, NOTICATIONDESCRIPTION, COPYSOURCEID, ENABLED
from dbo.#FAFEmailTemplate
where NCNOTIFICATIONID is not null
insert into dbo.EVENTEMAILTEMPLATE
( ID, EVENTID, EMAILTEMPLATEID, CONFIRMATIONTYPECODE, ISAVAILABLETOINDIVIDUAL, ISAVAILABLETOHOUSEHOLD, ISAVAILABLETOTEAMMEMBER, ISAVAILABLETOTEAMLEADER,
ISAVAILABLETOCOMPANYLEADER,ISAVAILABLETOFUNDRAISINGCOACH,ISAVAILABLETOSPONSOR, ISACTIVE,
RECIPIENTDONOR, RECIPIENTPROSPECT, RECIPIENTINDIVIDUAL, RECIPIENTHOUSEHOLDMEMBER, RECIPIENTHOUSEHOLDLEADER, RECIPIENTTEAMMEMBER,
RECIPIENTTEAMLEADER, RECIPIENTCOMPANYLEADER, RECIPIENTSTATUSPREVIOUS, RECIPIENTSTATUSCURRENT, NCNOTIFICATIONID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, ISAVAILABLETOHOUSEHOLDMEMBER,FAFTASKID,ISDEFAULTFORTASK)
select ET.Guid, @EVENTID, ET.ID, ETYPECODE, FORINDIVIDUAL, FORHH, FORTEAMMEMBER, FORTEAMLEADER,
FORCOMPLEADER,FORFUNDCOACH,FORSPONSOR, ISACTIVE,
RECIPIENTDONOR, RECIPIENTPROSPECT, RECIPIENTINDIVIDUAL, RECIPIENTHHMEMBER, RECIPIENTHHLEADER, RECIPIENTTEAMMEMBER,
RECIPIENTTEAMLEADER, RECIPIENTCOMPLEADER, PREVIOUSSTATUS, CURRENTSTATUS, NCN.ID,
@CHANGEAGENTID,@CHANGEAGENTID,@CHANGEDATE,@CHANGEDATE,FORHHMEMBER,FAFTASKID,ISDEFAULTFORTASK
from dbo.#FAFEmailTemplate EET
join dbo.EmailTemplate ET on ET.CopySourceID = EET.CopySourceID and ET.ClientSitesID = @CLIENTSITESID
left join dbo.NC_Notification NCN on NCN.EmailTemplateID = EET.COPYSOURCEID and NCN.NotificationTypeID = 12
/*set EmailTemplateID null here since it was a holding place*/
update NC_Notification
set EmailTemplateID = null
where NotificationTypeID = 12 and EmailTemplateID in (select COPYSOURCEID from #FAFEmailTemplate where NCNOTIFICATIONID is not null)
drop table #FAFEmailTemplate
if @@Error <> 0
return 2;
return 0;