USP_DATAFORMTEMPLATE_ADD_TEAMFUNDRAISINGTEAMMEMBERFROMREGISTRANT
The save procedure used by the add dataform template "Team Fundraising Team Member from Registrant 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. |
@EVENTIDTEAMFUNDRAISINGTEAMID | nvarchar(72) | IN | Input parameter indicating the context ID for the record being added. |
@REGISTRANTID | uniqueidentifier | IN | Team fundraiser |
@GOAL | money | IN | Goal |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_TEAMFUNDRAISINGTEAMMEMBERFROMREGISTRANT
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@EVENTIDTEAMFUNDRAISINGTEAMID nvarchar(72),
@REGISTRANTID uniqueidentifier,
@GOAL money = 0
)
as
begin
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();
begin try
declare @CONSTITUENTID uniqueidentifier;
select
@CONSTITUENTID = REGISTRANT.CONSTITUENTID
from
dbo.REGISTRANT
where
REGISTRANT.ID = @REGISTRANTID;
declare @APPEALID uniqueidentifier;
declare @TEAMFUNDRAISERID uniqueidentifier;
declare @CURRENTGOAL money;
select
@APPEALID = TEAMFUNDRAISINGTEAM.APPEALID,
@TEAMFUNDRAISERID = TEAMFUNDRAISER.ID,
@CURRENTGOAL = TEAMFUNDRAISER.GOAL
from
dbo.TEAMFUNDRAISINGTEAM
left join dbo.TEAMFUNDRAISER on
TEAMFUNDRAISINGTEAM.APPEALID = TEAMFUNDRAISER.APPEALID
and @CONSTITUENTID = TEAMFUNDRAISER.CONSTITUENTID
where
TEAMFUNDRAISINGTEAM.ID = right(@EVENTIDTEAMFUNDRAISINGTEAMID, 36);
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
where
ID = @TEAMFUNDRAISERID;
insert into dbo.TEAMFUNDRAISINGTEAMMEMBER
(ID,TEAMFUNDRAISINGTEAMID,TEAMFUNDRAISERID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values
(@ID,right(@EVENTIDTEAMFUNDRAISINGTEAMID, 36),@TEAMFUNDRAISERID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end