USP_DATAFORMTEMPLATE_VIEW_FAFEVENTREGISTRANTSUMMARY
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@ADDRESS | nvarchar(max) | INOUT | |
nvarchar(100) | INOUT | ||
@PHONE | nvarchar(20) | INOUT | |
@PERSONALPAGEURL | UDT_WEBADDRESS | INOUT | |
@PREVIOUSPARTICIPANT | bit | INOUT | |
@MONEYRAISED | money | INOUT | |
@REGISTRATIONFEEPAID | money | INOUT | |
@REGISTRATIONFEE | money | INOUT | |
@ROLE | nvarchar(max) | INOUT | |
@GROUPNAME | nvarchar(max) | INOUT | |
@NATIONALGROUPNAME | nvarchar(max) | INOUT | |
@PARENTGROUPNAME | nvarchar(max) | INOUT | |
@LOOKUPID | nvarchar(max) | INOUT | |
@REGISTRANTID | uniqueidentifier | INOUT | |
@CONSTITUENTID | uniqueidentifier | INOUT | |
@GROUPID | uniqueidentifier | INOUT | |
@NATIONALGROUPID | uniqueidentifier | INOUT | |
@PARENTGROUPID | uniqueidentifier | INOUT | |
@AUTHENTICATEDSOCAILMEDIA | nvarchar(512) | INOUT | |
@ALLOW | bit | INOUT | |
@ALLOWSSO | bit | INOUT | |
@HAVELOGINPAGE | bit | INOUT | |
@SENDPASSWORDURL | nvarchar(512) | INOUT | |
@LOGINASPARTICIPANTLINK | UDT_WEBADDRESS | INOUT | |
@HAVEHQPAGE | bit | INOUT | |
@ISUSER | bit | INOUT | |
@URLFORMATSTRING | varchar(512) | INOUT | |
@BBNCUSERNAME | varchar(512) | INOUT | |
@SHAREDKEY | varchar(512) | INOUT | |
@WEBSITESTATUS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_FAFEVENTREGISTRANTSUMMARY
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@ADDRESS nvarchar(max) = null output,
@EMAIL nvarchar(100) = null output,
@PHONE nvarchar(20) = null output,
@PERSONALPAGEURL dbo.UDT_WEBADDRESS = null output,
@PREVIOUSPARTICIPANT bit = null output,
@MONEYRAISED money = null output,
@REGISTRATIONFEEPAID money = null output,
@REGISTRATIONFEE money = null output,
@ROLE nvarchar(max) = null output,
@GROUPNAME nvarchar(max) = null output,
@NATIONALGROUPNAME nvarchar(max) = null output,
@PARENTGROUPNAME nvarchar(max) = null output,
@LOOKUPID nvarchar(max) = null output,
@REGISTRANTID uniqueidentifier = null output,
@CONSTITUENTID uniqueidentifier = null output,
@GROUPID uniqueidentifier = null output,
@NATIONALGROUPID uniqueidentifier = null output,
@PARENTGROUPID uniqueidentifier = null output,
@AUTHENTICATEDSOCAILMEDIA nvarchar(512) = null output,
@ALLOW bit = null output,
@ALLOWSSO bit = null output,
@HAVELOGINPAGE bit = null output,
@SENDPASSWORDURL nvarchar(512) = null output,
@LOGINASPARTICIPANTLINK dbo.UDT_WEBADDRESS = null output,
@HAVEHQPAGE bit = null output,
@ISUSER bit = null output,
@URLFORMATSTRING varchar(512) = null output,
@BBNCUSERNAME varchar(512) = null output,
@SHAREDKEY varchar(512) = null output,
@WEBSITESTATUS bit = null output
)
as
set nocount on;
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
declare
@EVENTID uniqueidentifier,
@TEAMFUNDRAISINGTEAMID uniqueidentifier,
@CONSTITUENTSEQUENCEID int
-- populate the output parameters, which correspond to fields on the form. Note that
-- we set @DATALOADED = 1 to indicate that the load was successful. Otherwise, the system
-- will display a "no data loaded" message.
select @DATALOADED = 1,
@ADDRESS = dbo.UFN_BUILDFULLADDRESS(ADDRESS.ID, ADDRESS.ADDRESSBLOCK, ADDRESS.CITY, ADDRESS.STATEID, ADDRESS.POSTCODE, ADDRESS.COUNTRYID),
@EMAIL = EMAILADDRESS.EMAILADDRESS,
@PHONE = dbo.UFN_PHONE_GETINTERNATIONALNUMBER(PHONE.COUNTRYID, PHONE.NUMBER),
@PREVIOUSPARTICIPANT= case when R2.ID is null then 0 else 1 end,
@MONEYRAISED= ISNULL(FAFRAISEDTOTAL.RECEIVEDAMOUNT, 0)
+ CASE WHEN opt.ISREGISTRATIONREVENUE = 1 then REGAMOUNT else 0 end
+ CASE WHEN opt.ISUNPAIDPLEDGES = 1 then UNPAIDPLEDGEAMOUNT else 0 end
+ CASE WHEN opt.ISUNPAIDRECURRINGGIFTS = 1 then UNPAIDRECURRINGAMOUNT else 0 end
+ CASE WHEN opt.ISPENDINGMATCHINGGIFTS = 1 then MATCHINGGIFTCLAIMAMOUNT else 0 end
+ CASE WHEN opt.UNCONFIRMEDPARTICIPANTGIFTENTRY = 1 then UNCONFIRMEDOFFLINEAMOUNT else 0 end,
@REGISTRATIONFEE = RR.AMOUNT,
@LOOKUPID=REGISTRANT.LOOKUPID,
@EVENTID=REGISTRANT.EVENTID,
@REGISTRANTID=REGISTRANT.ID,
@CONSTITUENTID=REGISTRANT.CONSTITUENTID,
@CONSTITUENTSEQUENCEID=CONSTITUENT.SEQUENCEID
from dbo.REGISTRANT
left join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID
left join dbo.FAFEVENTDONATIONOPTIONSCONFIG opt on EVENT.ID=opt.EVENTID
left join dbo.EVENTEXTENSION on EVENT.ID = EVENTEXTENSION.EVENTID
left join dbo.REGISTRANT R2 on EVENTEXTENSION.PRIORYEAREVENTID = R2.EVENTID AND REGISTRANT.CONSTITUENTID = R2.CONSTITUENTID
left join dbo.CONSTITUENT on REGISTRANT.CONSTITUENTID = CONSTITUENT.ID
left join dbo.ADDRESS on ADDRESS.CONSTITUENTID = CONSTITUENT.ID and ADDRESS.ISPRIMARY = 1
left join dbo.PHONE on PHONE.CONSTITUENTID = CONSTITUENT.ID and PHONE.ISPRIMARY = 1
left join dbo.EMAILADDRESS on EMAILADDRESS.CONSTITUENTID = CONSTITUENT.ID and EMAILADDRESS.ISPRIMARY = 1
left join dbo.FAFRAISEDTOTAL on FAFRAISEDTOTAL.CONSTITUENTID=REGISTRANT.CONSTITUENTID and FAFRAISEDTOTAL.EVENTID=REGISTRANT.EVENTID
left join dbo.REGISTRANTREGISTRATION RR ON RR.REGISTRANTID = REGISTRANT.ID
where REGISTRANT.ID = @ID;
--Simpler to do the financial calculations here so we don't have to recompute TOTALFEES and TOTALPAID again to figure out the balance
with [EVENTFEEINFO] as
(
select
coalesce((select sum(EVENTREGISTRANTPAYMENT.AMOUNT) from dbo.EVENTREGISTRANTPAYMENT where EVENTREGISTRANTPAYMENT.REGISTRANTID = @ID),0) as [TOTALPAID],
coalesce((select sum(CREDITITEMS.TOTAL) from dbo.[UFN_REGISTRANT_GETCREDITITEMS](@ID) CREDITITEMS),0) as [TOTALREFUNDED]
)
select @REGISTRATIONFEEPAID = [EVENTFEEINFO].TOTALPAID - [EVENTFEEINFO].TOTALREFUNDED
from [EVENTFEEINFO]
set @WEBSITESTATUS = dbo.UFN_CLIENTSITES_GETEVENTWEBSITESTATUS(@EVENTID)
if @WEBSITESTATUS = 1
begin
set @PERSONALPAGEURL = dbo.UFN_VANITYURL_GETFAFPARTICIPANTURL(@ID, @EVENTID, 0)
end
select @ROLE=ROLE, @TEAMFUNDRAISINGTEAMID=TEAMFUNDRAISINGTEAMID from dbo.UFN_REGISTRANT_GETFAFROLE(@EVENTID, NULL) where REGISTRANTID = @ID
SELECT @GroupName = case when TE.[StatusCode] != 2 then T.NAME else '' end,
@NATIONALGROUPNAME = NFG.NAME,
@PARENTGROUPNAME = PT.NAME,
@GROUPID=T.ID,
@NATIONALGROUPID=NFG.ID,
@PARENTGROUPID = PT.ID
FROM dbo.TEAMFUNDRAISINGTEAM T
INNER JOIN dbo.TEAMEXTENSION TE ON T.ID = TE.TEAMFUNDRAISINGTEAMID
LEFT OUTER JOIN dbo.FAFNFGCAMPAIGNLEVEL NFGCL On NFGCL.ID=TE.NFGCAMPAIGNLEVELID
LEFT OUTER JOIN dbo.FAFNFGCAMPAIGN NFG on NFG.ID=NFGCL.NFGCAMPAIGNID
LEFT OUTER JOIN dbo.TEAMFUNDRAISINGTEAM PT (NOLOCK) on PT.ID = T.PARENTTEAMID
WHERE T.ID = @TEAMFUNDRAISINGTEAMID
--login stuff
declare @CLIENTSITESID int = null
declare @CLIENTUSERID int = null
declare @HQPID int = null
declare @SITECONTENTID int = -1
declare @LOGINPAGEID int = null
select @CLIENTSITESID = eex.CLIENTSITESID, @ALLOW = isnull(rex.[ALLOWADMINACCESSHQ], 1)
from dbo.REGISTRANT r
left join dbo.REGISTRANTEXTENSION rex on rex.REGISTRANTID = r.ID
left join dbo.EVENTEXTENSION eex ON r.EVENTID = eex.EVENTID
where r.ID = @ID
set @CLIENTUSERID = dbo.fnGetUserIDFromLinkedRecordID(@CONSTITUENTSEQUENCEID, 0);
declare @ISBLACKBAUDLOGIN bit = 1
set @AUTHENTICATEDSOCAILMEDIA = ''
select @ISBLACKBAUDLOGIN = 0, @AUTHENTICATEDSOCAILMEDIA = @AUTHENTICATEDSOCAILMEDIA + PROVIDERNAME + ', '
from dbo.CLIENTUSERSEXTENSION where CLIENTUSERID = @CLIENTUSERID
select @ALLOWSSO = VALUE from dbo.CMSSITESETTING where ENUMID = 25 and CLIENTSITESID = @CLIENTSITESID
select @HQPID = HQ.VALUE, @LOGINPAGEID = LP.VALUE, @HAVEHQPAGE = case when HQ.VALUE is null then 0 else 1 end,
@HAVELOGINPAGE = case when LP.VALUE is null then 0 else 1 end
from EVENTEXTENSION EX
left join dbo.CMSSITESETTING HQ on EX.CLIENTSITESID = HQ.CLIENTSITESID and HQ.ENUMID = 30
left join dbo.CMSSITESETTING LP on EX.CLIENTSITESID = LP.CLIENTSITESID and LP.ENUMID = 3
where EX.EVENTID = @EVENTID
select @SITECONTENTID = P.SITECONTENTID from dbo.PAGECONTENT P
inner join dbo.SiteContent SC on SC.ID = P.SiteContentID and SC.ContentTypesID = 33 --sign in part
where P.SITEPAGESID = @LOGINPAGEID
if @WEBSITESTATUS = 1
BEGIN
if @ALLOWSSO = 1
BEGIN
set @ISUSER = 1
exec dbo.USP_GETCREATE_SSO_URLFORMATSTRING @URLFORMATSTRING = @URLFORMATSTRING output,@SHAREDKEY = @SHAREDKEY output,@SITEID = @CLIENTSITESID, @SSO_NAME='BBEC Caller 2', @includeIP=0
if @ISBLACKBAUDLOGIN = 1
select @SENDPASSWORDURL = VALUE + 'ConfirmationEmail.aspx?pid=' + Convert(varchar(100),@LOGINPAGEID) +
'&UserID=' + Convert(varchar(100),@CLIENTUSERID) +
'&SiteContentID=' + Convert(varchar(100),@SITECONTENTID)
from dbo.CMSSITESETTING where ENUMID=11 and CLIENTSITESID = @CLIENTSITESID
else
set @AUTHENTICATEDSOCAILMEDIA = 'Authenticated with: ' + SUBSTRING(@AUTHENTICATEDSOCAILMEDIA, 1, LEN(@AUTHENTICATEDSOCAILMEDIA) - 1)
if @ALLOW = 1
BEGIN
select @BBNCUSERNAME = USERNAME from dbo.CLIENTUSERS where ID = @CLIENTUSERID
if @HAVEHQPAGE = 1
BEGIN
if @LOGINPAGEID is not null
DECLARE @HOUSEHOLDPARAMETER varchar(100) = ''
DECLARE @TEAMID uniqueidentifier = NULL
DECLARE @TYPECODE int
SELECT @TEAMID = TEAMID, @TYPECODE = TEAMTYPECODE
FROM dbo.UFN_FAF_GETTEAMINFO_BY_REGISTRANT(@CONSTITUENTID, @EVENTID)
select @LOGINASPARTICIPANTLINK = VALUE + '?pid=' + Convert(varchar(100),@LOGINPAGEID) +
'&ru=page.aspx%3fpid%3d'
from dbo.CMSSITESETTING
where ENUMID=10 and CLIENTSITESID = @CLIENTSITESID
END
END
END
END
return 0;