USP_EVENTEMAILTEMPLATE_ADD_EDIT
Add/edit the confirmation email template for a given event
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN | |
@EMAILTEMPLATEID | int | IN | |
@CONFIRMATIONTYPECODE | tinyint | IN | |
@ISAVAILABLETOINDIVIDUAL | bit | IN | |
@ISAVAILABLETOHOUSEHOLD | bit | IN | |
@ISAVAILABLETOTEAMMEMBER | bit | IN | |
@ISAVAILABLETOTEAMLEADER | bit | IN | |
@ISAVAILABLETOCOMPANYLEADER | bit | IN | |
@ISAVAILABLETOFUNDRAISINGCOACH | bit | IN | |
@ISAVAILABLETOSPONSOR | bit | IN | |
@ISACTIVE | 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 | |
@NCNOTIFICATIONID | int | IN | |
@AVAILABLEASLETTER | bit | IN | |
@ISAVAILABLETOHOUSEHOLDMEMBER | bit | IN | |
@FAFTASKID | uniqueidentifier | IN | |
@ISDEFAULTFORTASK | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_EVENTEMAILTEMPLATE_ADD_EDIT
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@EVENTID uniqueidentifier = null,
@EMAILTEMPLATEID int = null,
@CONFIRMATIONTYPECODE tinyint = null,
@ISAVAILABLETOINDIVIDUAL bit = 1,
@ISAVAILABLETOHOUSEHOLD bit = 1,
@ISAVAILABLETOTEAMMEMBER bit = 1,
@ISAVAILABLETOTEAMLEADER bit = 1,
@ISAVAILABLETOCOMPANYLEADER bit = 1,
@ISAVAILABLETOFUNDRAISINGCOACH bit = 1,
@ISAVAILABLETOSPONSOR bit = 1,
@ISACTIVE bit = 1,
@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,
@NCNOTIFICATIONID int = null,
@AVAILABLEASLETTER bit = 0,
@ISAVAILABLETOHOUSEHOLDMEMBER bit = 1,
@FAFTASKID uniqueidentifier = null,
@ISDEFAULTFORTASK bit = 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
IF NOT EXISTS (SELECT * FROM dbo.EVENTEMAILTEMPLATE (NOLOCK) WHERE ID= @ID)
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, AVAILABLEASLETTER, ISAVAILABLETOHOUSEHOLDMEMBER, FAFTASKID, ISDEFAULTFORTASK)
VALUES
( @ID, @EVENTID, @EMAILTEMPLATEID, @CONFIRMATIONTYPECODE, @ISAVAILABLETOINDIVIDUAL, @ISAVAILABLETOHOUSEHOLD, @ISAVAILABLETOTEAMMEMBER, @ISAVAILABLETOTEAMLEADER,
@ISAVAILABLETOCOMPANYLEADER,@ISAVAILABLETOFUNDRAISINGCOACH,@ISAVAILABLETOSPONSOR, @ISACTIVE,
@RECIPIENTDONOR, @RECIPIENTPROSPECT,@RECIPIENTINDIVIDUAL, @RECIPIENTHOUSEHOLDMEMBER, @RECIPIENTHOUSEHOLDLEADER, @RECIPIENTTEAMMEMBER,
@RECIPIENTTEAMLEADER, @RECIPIENTCOMPANYLEADER, @RECIPIENTSTATUSPREVIOUS, @RECIPIENTSTATUSCURRENT, @NCNOTIFICATIONID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @AVAILABLEASLETTER, @ISAVAILABLETOHOUSEHOLDMEMBER, @FAFTASKID, @ISDEFAULTFORTASK)
ELSE
UPDATE dbo.EVENTEMAILTEMPLATE
SET
EVENTID = isnull(@EVENTID, EVENTID),
EMAILTEMPLATEID = isnull(@EMAILTEMPLATEID,EMAILTEMPLATEID),
CONFIRMATIONTYPECODE = isnull(@CONFIRMATIONTYPECODE,CONFIRMATIONTYPECODE),
ISAVAILABLETOINDIVIDUAL = isnull(@ISAVAILABLETOINDIVIDUAL,ISAVAILABLETOINDIVIDUAL),
ISAVAILABLETOHOUSEHOLD = isnull(@ISAVAILABLETOHOUSEHOLD, ISAVAILABLETOHOUSEHOLD),
ISAVAILABLETOTEAMMEMBER = isnull(@ISAVAILABLETOTEAMMEMBER, ISAVAILABLETOTEAMMEMBER),
ISAVAILABLETOTEAMLEADER = isnull(@ISAVAILABLETOTEAMLEADER, ISAVAILABLETOTEAMLEADER),
ISAVAILABLETOCOMPANYLEADER = isnull(@ISAVAILABLETOCOMPANYLEADER, ISAVAILABLETOCOMPANYLEADER),
ISAVAILABLETOFUNDRAISINGCOACH = isnull(@ISAVAILABLETOFUNDRAISINGCOACH, ISAVAILABLETOFUNDRAISINGCOACH),
ISAVAILABLETOSPONSOR = isnull(@ISAVAILABLETOSPONSOR, ISAVAILABLETOSPONSOR),
ISACTIVE = @ISACTIVE,
RECIPIENTDONOR = isnull(@RECIPIENTDONOR,RECIPIENTDONOR),
RECIPIENTPROSPECT = isnull(@RECIPIENTPROSPECT, RECIPIENTPROSPECT),
RECIPIENTINDIVIDUAL = isnull(@RECIPIENTINDIVIDUAL, RECIPIENTINDIVIDUAL),
RECIPIENTHOUSEHOLDMEMBER = isnull(@RECIPIENTHOUSEHOLDMEMBER, RECIPIENTHOUSEHOLDMEMBER),
RECIPIENTHOUSEHOLDLEADER = isnull(@RECIPIENTHOUSEHOLDLEADER, RECIPIENTHOUSEHOLDLEADER),
RECIPIENTTEAMMEMBER = isnull(@RECIPIENTTEAMMEMBER, RECIPIENTTEAMMEMBER),
RECIPIENTTEAMLEADER = isnull(@RECIPIENTTEAMLEADER, RECIPIENTTEAMLEADER),
RECIPIENTCOMPANYLEADER = isnull(@RECIPIENTCOMPANYLEADER, RECIPIENTCOMPANYLEADER),
RECIPIENTSTATUSPREVIOUS = isnull(@RECIPIENTSTATUSPREVIOUS, RECIPIENTSTATUSPREVIOUS),
RECIPIENTSTATUSCURRENT = isnull(@RECIPIENTSTATUSCURRENT, RECIPIENTSTATUSCURRENT),
NCNOTIFICATIONID = isnull(@NCNOTIFICATIONID, NCNOTIFICATIONID),
AVAILABLEASLETTER = isnull(@AVAILABLEASLETTER, AVAILABLEASLETTER),
ISAVAILABLETOHOUSEHOLDMEMBER = isnull(@ISAVAILABLETOHOUSEHOLDMEMBER, ISAVAILABLETOHOUSEHOLDMEMBER),
FAFTASKID = isnull(@FAFTASKID, FAFTASKID),
ISDEFAULTFORTASK = isnull(@ISDEFAULTFORTASK, ISDEFAULTFORTASK)
WHERE ID= @ID
--if @ISDEFAULTFORTASK=1, then make sure no other templates for that event and task have ISDEFAULTFORTASK=1
if @ISDEFAULTFORTASK = 1
begin
if @ID is not null
UPDATE EVENTEMAILTEMPLATE
SET ISDEFAULTFORTASK = 0
WHERE EVENTID = (SELECT EVENTID FROM dbo.EVENTEMAILTEMPLATE WHERE ID= @ID)
AND FAFTASKID = @FAFTASKID
AND EMAILTEMPLATEID <> (SELECT EMAILTEMPLATEID FROM dbo.EVENTEMAILTEMPLATE WHERE ID= @ID)
else
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;