USP_FAFRAISEDTOTAL_CALCULATE
Precalculate FAF raised total for participants
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFRAISEDTOTAL_CALCULATE
(
@EVENTID uniqueidentifier
,@CONSTITUENTID uniqueidentifier
)
as
begin
--limit to participants and teams/groups (with direct credits)
if exists (select 1 from dbo.REGISTRANT R with (nolock) where R.EVENTID = @EVENTID and R.CONSTITUENTID = @CONSTITUENTID)
or exists (select 1 from dbo.TEAMEXTENSION where eventID = @EVENTID and TEAMCONSTITUENTID = @CONSTITUENTID)
begin
merge INTO dbo.FAFRAISEDTOTAL as Target
using (
select
REGAMOUNT
, RECEIVEDAMOUNT
, UNPAIDPLEDGEAMOUNT
, UNPAIDRECURRINGAMOUNT
, MATCHINGGIFTCLAIMAMOUNT
, UNCONFIRMEDOFFLINEAMOUNT
, DONORCOUNT
, GIFTCOUNT_DONATION
, GIFTCOUNT_UNPAIDPLEDGES_ON
, GIFTCOUNT_UNPAIDPLEDGES_OFF
, GIFTCOUNT_PENDINGMATCHINGGIFTS_ON
, GIFTCOUNT_PENDINGMATCHINGGIFTS_OFF
, GIFTCOUNT_UNPAIDRECURRINGGIFTS_ON
, GIFTCOUNT_UNPAIDRECURRINGGIFTS_OFF
, GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_ON
, GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_OFF
, DATECHANGED = GETDATE()
from dbo.[UFN_REVENUE_CALCPARTICIPANTRAISEDTOTAL] (@CONSTITUENTID,@EVENTID)
)
as source on (target.CONSTITUENTID = @CONSTITUENTID and target.EVENTID = @EVENTID)
when matched then
update set
REGAMOUNT = isnull(source.REGAMOUNT, 0)
, RECEIVEDAMOUNT = isnull(source.RECEIVEDAMOUNT, 0)
, UNPAIDPLEDGEAMOUNT = isnull(source.UNPAIDPLEDGEAMOUNT, 0)
, UNPAIDRECURRINGAMOUNT = isnull(source.UNPAIDRECURRINGAMOUNT, 0)
, MATCHINGGIFTCLAIMAMOUNT = isnull(source.MATCHINGGIFTCLAIMAMOUNT, 0)
, UNCONFIRMEDOFFLINEAMOUNT = isnull(source.UNCONFIRMEDOFFLINEAMOUNT, 0)
, DONORCOUNT = isnull(source.DONORCOUNT, 0)
, GIFTCOUNT_DONATION = isnull(source.GIFTCOUNT_DONATION, 0)
, GIFTCOUNT_UNPAIDPLEDGES_ON = isnull(source.GIFTCOUNT_UNPAIDPLEDGES_ON, 0)
, GIFTCOUNT_UNPAIDPLEDGES_OFF = isnull(source.GIFTCOUNT_UNPAIDPLEDGES_OFF, 0)
, GIFTCOUNT_PENDINGMATCHINGGIFTS_ON = isnull(source.GIFTCOUNT_PENDINGMATCHINGGIFTS_ON, 0)
, GIFTCOUNT_PENDINGMATCHINGGIFTS_OFF = isnull(source.GIFTCOUNT_PENDINGMATCHINGGIFTS_OFF, 0)
, GIFTCOUNT_UNPAIDRECURRINGGIFTS_ON = isnull(source.GIFTCOUNT_UNPAIDRECURRINGGIFTS_ON, 0)
, GIFTCOUNT_UNPAIDRECURRINGGIFTS_OFF = isnull(source.GIFTCOUNT_UNPAIDRECURRINGGIFTS_OFF, 0)
, GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_ON = isnull(source.GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_ON, 0)
, GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_OFF = isnull(source.GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_OFF, 0)
, DATECHANGED = source.DATECHANGED
when not matched then
insert (EVENTID, CONSTITUENTID
, REGAMOUNT
, RECEIVEDAMOUNT
, UNPAIDPLEDGEAMOUNT
, UNPAIDRECURRINGAMOUNT
, MATCHINGGIFTCLAIMAMOUNT
, UNCONFIRMEDOFFLINEAMOUNT
, DONORCOUNT
, GIFTCOUNT_DONATION
, GIFTCOUNT_UNPAIDPLEDGES_ON
, GIFTCOUNT_UNPAIDPLEDGES_OFF
, GIFTCOUNT_PENDINGMATCHINGGIFTS_ON
, GIFTCOUNT_PENDINGMATCHINGGIFTS_OFF
, GIFTCOUNT_UNPAIDRECURRINGGIFTS_ON
, GIFTCOUNT_UNPAIDRECURRINGGIFTS_OFF
, GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_ON
, GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_OFF
, DATECHANGED
) values(@EVENTID, @CONSTITUENTID
, isnull(source.REGAMOUNT, 0)
, isnull(source.RECEIVEDAMOUNT, 0)
, isnull(source.UNPAIDPLEDGEAMOUNT, 0)
, isnull(source.UNPAIDRECURRINGAMOUNT, 0)
, isnull(source.MATCHINGGIFTCLAIMAMOUNT, 0)
, isnull(source.UNCONFIRMEDOFFLINEAMOUNT, 0)
, isnull(source.DONORCOUNT, 0)
, isnull(source.GIFTCOUNT_DONATION, 0)
, isnull(source.GIFTCOUNT_UNPAIDPLEDGES_ON, 0)
, isnull(source.GIFTCOUNT_UNPAIDPLEDGES_OFF, 0)
, isnull(source.GIFTCOUNT_PENDINGMATCHINGGIFTS_ON, 0)
, isnull(source.GIFTCOUNT_PENDINGMATCHINGGIFTS_OFF, 0)
, isnull(source.GIFTCOUNT_UNPAIDRECURRINGGIFTS_ON, 0)
, isnull(source.GIFTCOUNT_UNPAIDRECURRINGGIFTS_OFF, 0)
, isnull(source.GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_ON, 0)
, isnull(source.GIFTCOUNT_UNCONFIRMEDPARTICIPANTGIFTENTRY_OFF, 0)
, source.DATECHANGED
);
end
end