USP_DATAFORMTEMPLATE_ADD_REGISTRANTTEAMFUNDRAISINGGUEST
The save procedure used by the add dataform template "Registrant Team Fundraising Guest Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@EVENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@EVENTSEATINGNOTE | nvarchar(250) | IN | Seating note |
@GUESTOFREGISTRANTID | uniqueidentifier | IN | Guest of |
@CONSTITUENTID | uniqueidentifier | IN | Registrant |
@ATTENDED | bit | IN | Attended |
@TEAMFUNDRAISERTYPECODE | tinyint | IN | |
@TEAMFUNDRAISINGTEAMID | uniqueidentifier | IN | Team |
@GOAL | money | IN | Goal |
@ISTEAMCAPTAIN | bit | IN | Team captain |
@WAIVEBENEFITS | bit | IN | Attended |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_REGISTRANTTEAMFUNDRAISINGGUEST
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@EVENTID uniqueidentifier,
@EVENTSEATINGNOTE nvarchar(250) = '',
@GUESTOFREGISTRANTID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier = null,
@ATTENDED bit = 0,
@TEAMFUNDRAISERTYPECODE tinyint = null,
@TEAMFUNDRAISINGTEAMID uniqueidentifier = null,
@GOAL money = null,
@ISTEAMCAPTAIN bit = 0,
@WAIVEBENEFITS bit = 0
)
as
set nocount on;
declare @CURRENTDATE datetime;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
select @WAIVEBENEFITS = BENEFITSWAIVED from dbo.REGISTRANT where ID = @GUESTOFREGISTRANTID;
begin try
insert into dbo.REGISTRANT
(ID, CONSTITUENTID, EVENTID, ATTENDED, GUESTOFREGISTRANTID, EVENTSEATINGNOTE, BENEFITSWAIVED, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @CONSTITUENTID, @EVENTID, @ATTENDED, @GUESTOFREGISTRANTID, @EVENTSEATINGNOTE, @WAIVEBENEFITS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
if @TEAMFUNDRAISERTYPECODE = 1 or @TEAMFUNDRAISERTYPECODE = 2
begin
declare @APPEALID uniqueidentifier;
declare @TEAMFUNDRAISERID uniqueidentifier;
declare @CURRENTGOAL money;
select
@APPEALID = EVENT.APPEALID,
@TEAMFUNDRAISERID = TEAMFUNDRAISER.ID,
@CURRENTGOAL = TEAMFUNDRAISER.GOAL
from
dbo.EVENT
left join dbo.TEAMFUNDRAISER on
EVENT.APPEALID = TEAMFUNDRAISER.APPEALID
and @CONSTITUENTID = TEAMFUNDRAISER.CONSTITUENTID
where
EVENT.ID = @EVENTID;
if @TEAMFUNDRAISERID is null
begin
set @TEAMFUNDRAISERID = newid();
insert into dbo.TEAMFUNDRAISER
(ID,APPEALID,CONSTITUENTID,GOAL,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values
(@TEAMFUNDRAISERID,@APPEALID,@CONSTITUENTID,@GOAL,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);
end
else
if @GOAL <> @CURRENTGOAL
update
dbo.TEAMFUNDRAISER
set
GOAL = @GOAL,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @TEAMFUNDRAISERID;
if @TEAMFUNDRAISERTYPECODE = 1
begin
if not exists (select ID from dbo.TEAMFUNDRAISINGTEAMMEMBER where TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID and TEAMFUNDRAISERID = @TEAMFUNDRAISERID)
insert into dbo.TEAMFUNDRAISINGTEAMMEMBER
(ID,TEAMFUNDRAISINGTEAMID,TEAMFUNDRAISERID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values
(@ID,@TEAMFUNDRAISINGTEAMID,@TEAMFUNDRAISERID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);
if
(
@ISTEAMCAPTAIN = 1
and
not exists (select ID from dbo.TEAMFUNDRAISINGTEAMCAPTAIN where TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID and CONSTITUENTID = @CONSTITUENTID)
)
insert into dbo.TEAMFUNDRAISINGTEAMCAPTAIN
(ID,TEAMFUNDRAISINGTEAMID,CONSTITUENTID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values
(@ID,@TEAMFUNDRAISINGTEAMID,@CONSTITUENTID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);
end
if @TEAMFUNDRAISERTYPECODE = 2
if not exists (select ID from dbo.TEAMFUNDRAISINGTEAMMEMBER where TEAMFUNDRAISINGTEAMID is null and TEAMFUNDRAISERID = @TEAMFUNDRAISERID)
insert into dbo.TEAMFUNDRAISINGTEAMMEMBER
(ID,TEAMFUNDRAISINGTEAMID,TEAMFUNDRAISERID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values
(@ID,null,@TEAMFUNDRAISERID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;