USP_GETEVENTDONATION
Get Donation Amount for FAF Event
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@REGISTRANTID | uniqueidentifier | IN | |
@TEAMFUNDRAISINGTEAMID | uniqueidentifier | IN | |
@ROLETYPE | tinyint | IN |
Definition
Copy
create procedure dbo.USP_GETEVENTDONATION
( @EVENTID uniqueidentifier,
@REGISTRANTID uniqueidentifier = NULL,
@TEAMFUNDRAISINGTEAMID uniqueidentifier = NULL,
@ROLETYPE tinyint = 0 -- 0: ind / TM 1:Team 2:Company
)WITH EXECUTE AS CALLER
as
BEGIN
SET NOCOUNT ON;
DECLARE @TOTALDONATION money
DECLARE @REGISTRANTRAISED money
DECLARE @TEAMRAISED money
DECLARE @TEAMDONATION money
DECLARE @REGISTRANTDONATION money
IF @ROLETYPE = 0 AND @REGISTRANTID IS NOT NULL
BEGIN
SELECT @REGISTRANTDONATION = ISNULL(VOLUNTARYDONATION,0)
FROM dbo.REGISTRANTDONATION WHERE REGISTRANTID = @REGISTRANTID
SELECT @REGISTRANTRAISED = SUM(ISNULL(DONATIONAMOUNT,0))
FROM dbo.EVENTDONOR WHERE REGISTRANTID = @REGISTRANTID
SET @TOTALDONATION = ISNULL(@REGISTRANTDONATION,0) + ISNULL(@REGISTRANTRAISED,0)
END
IF @ROLETYPE = 1 AND @TEAMFUNDRAISINGTEAMID IS NOT NULL
BEGIN
SELECT @REGISTRANTDONATION = ISNULL(RD.VOLUNTARYDONATION,0)
FROM dbo.TEAMFUNDRAISINGTEAMMEMBER TM
INNER JOIN dbo.TEAMFUNDRAISER TF
ON TM.TEAMFUNDRAISERID = TF.ID
INNER JOIN dbo.REGISTRANT R
ON TF.CONSTITUENTID = R.CONSTITUENTID
INNER JOIN dbo.REGISTRANTDONATION RD
ON RD.REGISTRANTID = R.ID
WHERE TM.TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID
AND R.EVENTID = @EVENTID
SELECT @TEAMRAISED = SUM(ISNULL(ED.DONATIONAMOUNT,0))
FROM dbo.TEAMFUNDRAISINGTEAMMEMBER TM
INNER JOIN dbo.TEAMFUNDRAISER TF
ON TM.TEAMFUNDRAISERID = TF.ID
INNER JOIN dbo.REGISTRANT R
ON TF.CONSTITUENTID = R.CONSTITUENTID
INNER JOIN dbo.EVENTDONOR ED
ON ED.REGISTRANTID = R.ID
WHERE TM.TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID
AND R.EVENTID = @EVENTID
SELECT @TEAMDONATION = SUM(ISNULL(DONATIONAMOUNT,0))
FROM dbo.EVENTDONOR WHERE EVENTID = @EVENTID AND TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID AND REGISTRANTID IS NULL
SET @TOTALDONATION = ISNULL(@REGISTRANTDONATION,0) + ISNULL(@TEAMRAISED,0) + ISNULL(@TEAMDONATION,0)
END
SELECT ISNULL(@TOTALDONATION,0) AS TOTALDONATION
END