USP_DATALIST_FAFEVENT_REGISTRATION_MERGEDATA
FAFEvent registration merge data.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | Event ID |
@CONSTITUENTID | uniqueidentifier | IN | Constituent ID |
@REGISTRANTID | uniqueidentifier | IN | Registrant ID |
@TEAMID | uniqueidentifier | IN | Team ID |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FAFEVENT_REGISTRATION_MERGEDATA
(
@EVENTID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier = null,
@REGISTRANTID uniqueidentifier = null,
@TEAMID uniqueidentifier = null
)
as
set nocount on;
DECLARE @PAGEBASEURL NVARCHAR(500)
SELECT @PAGEBASEURL=VALUE
FROM DBO.CMSSITESETTING
WHERE CLIENTSITESID = 1 AND SETTING='PAGEBASEURL'
declare @Name varchar(200)
declare @Description varchar(500)
declare @Amount money
declare @Benefits varchar(500)
declare @FundraisingGroups varchar(500)
declare @NumberAvailable varchar(500)
declare @ISACTIVE VARCHAR(10)
If @CONSTITUENTID is NULL And Not @REGISTRANTID is null
begin
SET @CONSTITUENTID = (select constituentid from dbo.registrant where id=@REGISTRANTID)
end
declare @RegistrationsHtml nvarchar(max)
set @RegistrationsHtml='<table border="1px" cellspacing="0px">
<tr>
<td>Name</td>
<td>Description</td>
<td>Amount</td>
<td>Benefits</td>
<td>Fundraising Groups </td>
<td>Number available</td>
<td>Active</td>
</tr>'
DECLARE myCursor CURSOR for
select EVENTPRICE.NAME,
FAF.DESCRIPTION,
EVENTPRICE.AMOUNT,
dbo.UDA_BUILDLIST(BENEFIT.NAME) as BENEFITS,
((case FAF.ISREGTYPEAVAILABLEINDIVIDUAL when 1 then 'Individuals' ELSE '' end)+
(case FAF.ISREGTYPEAVAILABLEFAMILYMEMBER when 1 then ';Household members' else '' end)+
(case FAF.ISREGTYPEAVAILABLEHEADHOUSEHOLD when 1 then ';Heads of households' else '' end)+
(case FAF.ISREGTYPEAVAILABLETEAMMEMBER when 1 then ';Team members' else '' end)+
(case FAF.ISREGTYPEAVAILABLETEAMLEADER when 1 then ';Team leaders' else '' end)+
(case FAF.ISREGTYPEAVAILABLECOMPANYLEADER when 1 then ';Company leaders' else '' end)
) as FundraisingGroups,
CASE WHEN FAF.MAXQUANTITY > 0 THEN CAST(FAF.MAXQUANTITY AS nvarchar(20)) ELSE 'Unlimited' END as NUMBERAVAILABLE,
(case when FAF.ISACTIVE = 1 then 'Yes' else 'No' end) as ISACTIVE
from dbo.EVENTPRICE (nolock)
join dbo.FAFREGISTRATIONTYPE FAF (nolock) on EVENTPRICE.ID = FAF.EVENTPRICEID
left join dbo.EVENTPRICEBENEFIT (nolock) on FAF.EVENTPRICEID = EVENTPRICEBENEFIT.EVENTPRICEID
left join dbo.BENEFIT (nolock) on BENEFIT.ID = EVENTPRICEBENEFIT.BENEFITID
inner join dbo.REGISTRANTREGISTRATION(nolock) on REGISTRANTREGISTRATION.EVENTPRICEID= EVENTPRICE.ID
inner join dbo.REGISTRANT(nolock) on REGISTRANT.ID = REGISTRANTREGISTRATION.REGISTRANTID
where EVENTPRICE.EVENTID = @EVENTID --and REGISTRANT.ConstituentID=@ConstituentID
and FAF.ISACTIVE = 1
group by EVENTPRICE.ID, EVENTPRICE.NAME,FAF.DESCRIPTION,EVENTPRICE.AMOUNT,
FAF.ISREGTYPEAVAILABLEINDIVIDUAL, FAF.ISREGTYPEAVAILABLEFAMILYMEMBER, FAF.ISREGTYPEAVAILABLEHEADHOUSEHOLD,
FAF.ISREGTYPEAVAILABLETEAMMEMBER, FAF.ISREGTYPEAVAILABLETEAMLEADER, FAF.ISREGTYPEAVAILABLECOMPANYLEADER,
FAF.MAXQUANTITY, FAF.ISACTIVE
open myCursor
fetch next from myCursor into @Name,@Description,@Amount,@Benefits,@FundraisingGroups,@NumberAvailable,@ISActive
while(@@fetch_status=0)
begin
set @Benefits=isnull(@Benefits,' ')
set @Benefits=(case when @Benefits='' then ' ' else ' ' end )
set @RegistrationsHtml=@RegistrationsHtml+ '
<tr>
<td>'+@Name+'</td>
<td>'+@Description+'</td>
<td>'+cast(@Amount as varchar(20))+'</td>
<td>'+@Benefits+'</td>
<td>'+(case when left(@FundraisingGroups,1)=';' then SUBSTRING(@FundraisingGroups,2,LEN(@FundraisingGroups)-1) else @FundraisingGroups end)+'</td>
<td>'+@NumberAvailable+'</td>
<td>'+@ISActive+'</td>
</tr>'
fetch next from myCursor into @Name,@Description,@Amount,@Benefits,@FundraisingGroups,@NumberAvailable,@ISActive
end
close myCursor
deallocate myCursor
set @RegistrationsHtml=@RegistrationsHtml+'</table>'
select
--Event
EventName= EV.NAME --0
,EventLookupID=ET.LOOKUPEVENTID --1
,EventLocation=EL.NAME --2
,EventStartDate=EV.STARTDATE --3
,EventEndDate=EV.ENDDATE --4
,EventStartTime=EV.STARTTIME --5
,EventEndTime=EV.ENDTIME --6
,EventContactName= EVContact.NAME --7
,EventContactEmail=EVCEA.EMAILADDRESS--8
,EventContactPhone=EVCP.NUMBER--9
,EventSupportPhone=ET.supportphone --10
,EventSupportEmail=null--11
,EventSupportURL=ET.supporturl--12
,EventLoginLink=null--13
,FundraisingGroup=(case TE.TYPECODE when 1 then 'Team' when 2 then 'Company' when 3 then 'Household' else null end)--14
--Profile
,BillingAddress=null--15
,ShippingAddress=null--16
--Revenue
,RegistrationOptionDetail=@RegistrationsHtml--17
,AdditionalDonationAmount=RD.VOLUNTARYDONATION --18
,PaymentID=RM.ID --19
,PaymentName=RS.DESCRIPTION --20
,PaymentType=RM.PAYMENTMETHOD --21
,PaymentAmount=RS.AMOUNT --22
,PaymentDate=R.POSTDATE --not sure--23
,CreditCard=null--24
,MatchingGiftCompayName=null--25
,MatchingGiftAmount=R.AMOUNT --26
--Tribute
,Tributee=(case when TR.TRIBUTEEID is null then C0.NAME else CTR.NAME end) --27
,TributeType=TRC.DESCRIPTION --28
,TributeMessage=TR.TRIBUTETEXT --29
,AnonymousDonation=(case R.GIVENANONYMOUSLY when '1' then 'Yes' else 'No' END) --Not sure--30
,Acknowledgee=TRE.ACKNOWLEDGEELASTNAME+' '+TRE.ACKNOWLEDGEEFIRSTNAME --31
--Individual participants
,ParticipantID=C0.ID --32
,IndividualEventPageUrl=(@PAGEBASEURL+'?pid='+CAST(IPU.PAGEID AS VARCHAR(10)))--33
,IMinFundraisingGoal=RGE.FUNDRAISINGGOAL --34
,IParticipantPaysBalanceMessage=IFRGTG.PARTICIPANTPAYSBALANCEMESSAGE --35
,ITargetFundraisingGoal=RGE.TARGETFUNDRAISINGGOAL--36
,ITotalFundraisingAmount=(select amountRaised from dbo. UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL_2(@EVENTID) Where constituentID = @CONSTITUENTID)
,INumberOfParticipantsToRecruit=RGE.MEMBERECRUITMENTGOAL--38
,IPercentageOfDonorsToRetain=RGE.DONORRETENTIONGOAL--39
,INumberForOtherGoal=RgE.OTHERUNITGOAL--40
,ILYMinFundraisingGoal=null--41
,ILYTargetFundraisingGoal=null--42
,ILYTotalAmoutRaised=null--43
,ILYNumberOfParticipantsToRecruit=null--44
,ILYNumberOfParticipantsRecruited=null--45
,ILYPercentageOfDonorsToRetain=null--46
,ILYPercentageOfDonorsRetained=null--47
,ILYNumberOfCommunicationsToSend=null--48
,ILYNumberOfCommunicationsSent=null--49
--HouseHolds
,HouseholdID=(case TE.TYPECODE when 3 then TFT.ID else null end ) --50
,HouseholdName=(case TE.TYPECODE when 3 then TFT.NAME else null end )--51
,HouseholdPageUrl=(@PAGEBASEURL+'?pid='+CAST(HPU.PAGEID AS VARCHAR(10)))--52
,HParticipantPaysBalanceMessage=HFRGTG.PARTICIPANTPAYSBALANCEMESSAGE --53
,HMinFundraisingGoal=(case TE.TYPECODE when 3 then TFT.GOAL else null end )--54
,HTargetFundraisingGoal=(case TE.TYPECODE when 3 then TE.TARGETFUNDRAISINGGOAL else null end )--55
,HNumberOfParticipantsToRecruit=(case TE.TYPECODE when 3 then TE.PARTICIPANTGOAL else null end )--56
,HPercentageOfDonorsToRetain=(case TE.TYPECODE when 3 then TE.DONORRETENTIONGOAL else null end )--57
,HNumberOfCommunicationsToSend=(case TE.TYPECODE when 3 then TE.COMMUNICATIONGOAL else null end )--58
,HLYMinFundraisingGoal=null--59
,HLYTargetFundraisingGoal=null--60
,HLYNumberOfParticipantsToRecruit=null--61
,HLYPercentageOfDonorsToRetain=null--62
,HLYNumberOfCommunicationsToSend=null--63
--Team
,TeamName=(case TE.TYPECODE when 1 then TFT.NAME else null end ) --64
,TeamID=(case TE.TYPECODE when 1 then TFT.ID else null end ) --65
,TeamPageUrl=(@PAGEBASEURL+'?pid='+CAST(TPU.PAGEID AS VARCHAR(10)))--66
,TFundraisingTotalAmount_Goal=(case TE.TYPECODE when 1 then TFT.GOAL else null end )--67
,TNumberOfTeamMembers_Goal=(case TE.TYPECODE when 1 then TE.TEAMMEMBERGOAL else null end )--68
,TPercentageOfTeamMemberToRetain=(case TE.TYPECODE when 1 then TE.PCTTEAMMEMBERRETENSION else null end )--69
,TNumberOfParticipantsToRecruit=(case TE.TYPECODE when 1 then TE.PARTICIPANTGOAL else null end )--70
,TNumberOfCommunicationsToSend=(case TE.TYPECODE when 1 then TE.COMMUNICATIONGOAL else null end )--71
,TLYFundraisingTotalAmount_Goal=null--72
,TLYFundraisingTotalAmount_Actual=null--73
,TLYNumberOfTeamMembers_Goal=null--74
,TLYNumberOfTeamMembers_Actual=null--75
,TLYPercentageOfTeamMembersToRetain=null--76
,TLYPercentageOfTeamMembersRetained=null--77
,TLYNumberOfParticipantsToRecruit=null--78
,TLYNumberOfParticipantsRecruited=null--79
,TLYNumberOfCommunicationsToSend=null--80
,TLYNumberOfCommunicationsSent=null--81
--Companies
,CompanyTeamName=(case when TE.TYPECODE=2 then TFT.Name When TFT.PARENTTEAMID is not null then CTFT.Name else null end)--82
,CompanyID=(case when TE.TYPECODE=2 then TFT.ID When TFT.PARENTTEAMID is not null then CTFT.ID else null end)--83
,CompanyPageUrl=@PAGEBASEURL+'?pid='+CAST(CPU.PAGEID AS VARCHAR(10))--84
,CFundraisingTotalAmount_Goal=(case when TE.TYPECODE=2 then TFT.GOAL When TFT.PARENTTEAMID is not null then CTFT.GOAL else null end)--85
,CNumberOfTeams_Goal=(case when TE.TYPECODE=2 then TE.TEAMRECRUITMENTGOAL When TFT.PARENTTEAMID is not null then CTE.TEAMRECRUITMENTGOAL else null end)--86
,CPercentageOfTeamsToRetain=(case when TE.TYPECODE=2 then TE.PCTTEAMSRETENSION When TFT.PARENTTEAMID is not null then CTE.PCTTEAMSRETENSION else null end)--87
,CNumberOfTeamMembers_Goal=(case when TE.TYPECODE=2 then TFT.GOAL When TE.TEAMMEMBERGOAL is not null then CTE.TEAMMEMBERGOAL else null end)--88
,CPercentageOfTeamMembersToRetain=(case when TE.TYPECODE=2 then TE.PCTTEAMMEMBERRETENSION When TFT.PARENTTEAMID is not null then CTE.PCTTEAMMEMBERRETENSION else null end)--89
,CNumberOfParticipantsToRecruit=(case when TE.TYPECODE=2 then TE.PARTICIPANTGOAL When TFT.PARENTTEAMID is not null then CTE.PARTICIPANTGOAL else null end)--90
,CNumberOfCommunicationsToSend=(case when TE.TYPECODE=2 then TE.COMMUNICATIONGOAL When TFT.PARENTTEAMID is not null then CTE.COMMUNICATIONGOAL else null end)--91
,CLYFundraisingTotalAmount_Goal=null--92
,CLYFundraisingTotalAmount_Actual=null--93
,CLYNumberOfTeams_Goal=null--94
,CLYNumberOfTeams_Actual=null--95
,CLYPercentageOfTeamsToRetain=null--96
,CLYPercentageOfTeamsRetained=null--97
,CLYNumberOfTeamMembers_Goal=null--98
,CLYNumberOfTeamMembers_Actual=null--99
,CLYPercentageOfTeamMembersToRetain=null--100
,CLYPercentageOfTeamMembersRecruited=null--101
,CLYNumberOfParticipantsToRecruit=null--102
,CLYNumberOfParticipantsRecruited=null--103
,CLYNumberOfCommunicationsToSend=null--104
,CLYNumberOfCommunicationsSent=null--105
,IPNumberOfParticipantsRecruited=(select COUNT(fc.TYPEGUID)
from FAFCOMMUNICATIONSLOG fl
join FAFEVENTCOMMUNICATIONCHANNEL fc on fl.EMAILJOBID = fc.EMAILJOBID
WHERE fl.CLIENTUSERSID IN (SELECT dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT (RG.CONSTITUENTID)))
from dbo.REGISTRANT RG
inner join [EVENT] EV ON EV.ID = RG.EVENTID
inner join dbo.EVENTEXTENSION ET ON EV.ID = ET.EVENTID
left outer join dbo.CONSTITUENT C ON EV.EVENTLOCATIONCONTACTID = C.ID
left outer join dbo.CONSTITUENT C0 ON RG.CONSTITUENTID = C0.id-- and (Not @REGISTRANTID is null or Not @TEAMID is null)
--Registrant
left outer join dbo.REGISTRANTREGISTRATION RGG ON RGG.REGISTRANTID =RG.ID
left outer join dbo.EVENTPRICE EVP ON EVP.EVENTID=@EVENTID AND EVP.ID=RGG.EVENTPRICEID
--Individual Goal
LEFT outer join dbo.FAFREGISTRATIONTYPEGOAL IFRGTG ON IFRGTG.EVENTPRICEID=EVP.ID and IFRGTG.REGTYPEGOALCODE=0
--Team Goal
LEFT outer join dbo.FAFREGISTRATIONTYPEGOAL TFRGTG ON TFRGTG.EVENTPRICEID=EVP.ID and TFRGTG.REGTYPEGOALCODE=1
--Company Goal
LEFT outer join dbo.FAFREGISTRATIONTYPEGOAL CFRGTG ON CFRGTG.EVENTPRICEID=EVP.ID and CFRGTG.REGTYPEGOALCODE=2
--Household
LEFT outer join dbo.FAFREGISTRATIONTYPEGOAL HFRGTG ON HFRGTG.EVENTPRICEID=EVP.ID and HFRGTG.REGTYPEGOALCODE=3
--Event contact information
left outer join dbo.EVENTLOCATION EL ON EV.EVENTLOCATIONID = EL.ID
left outer join dbo.CONSTITUENT EVContact ON EV.EVENTLOCATIONCONTACTID=EVContact.ID
left outer join dbo.EMAILADDRESS EVCEA ON EVCEA.CONSTITUENTID=EVContact.ID AND EVCEA.ISPRIMARY=1
LEFT outer JOIN dbo.PHONE EVCP ON EVCP.CONSTITUENTID=EVContact.ID AND EVCP.ISPRIMARY=1
--Revenue information
left outer join dbo.REGISTRANTDONATION RD ON RD.REGISTRANTID=RG.ID
left outer join dbo.REVENUE R on R.CONSTITUENTID=RG.CONSTITUENTID --and R.APPEALID=EV.APPEALID
left outer join dbo.REVENUESPLIT RS ON R.ID = RS.REVENUEID AND RS.TYPE = 'EVENT REGISTRATION'
left outer join dbo.REVENUEPAYMENTMETHOD RM ON RM.REVENUEID=R.ID
--Treebute information
LEFT outer join dbo.REVENUETRIBUTE RT ON RT.REVENUEID=R.ID
left outer join dbo.TRIBUTE TR ON TR.ID=RT.TRIBUTEID
LEFT OUTER JOIN dbo.CONSTITUENT CTR ON CTR.ID=TR.TRIBUTEEID
left outer join dbo.TRIBUTETYPECODE TRC ON TRC.ID=TR.TRIBUTETYPECODEID
left outer join dbo.TRIBUTEEXTENSION TRE ON TRE.TRIBUTEID=TR.ID
--PageUrl
left outer join dbo.FAFEVENTPAGETEMPLATE IPU ON IPU.EVENTID=EV.ID AND IPU.PAGECATEGORYCODE=1
left outer join dbo.FAFEVENTPAGETEMPLATE TPU ON TPU.EVENTID=EV.ID AND IPU.PAGECATEGORYCODE=2
left outer join dbo.FAFEVENTPAGETEMPLATE HPU ON HPU.EVENTID=EV.ID AND IPU.PAGECATEGORYCODE=3
left outer join dbo.FAFEVENTPAGETEMPLATE CPU ON CPU.EVENTID=EV.ID AND IPU.PAGECATEGORYCODE=4
--Individual
left outer join dbo.REGISTRANTEXTENSION RGE ON RGE.REGISTRANTID=RG.ID
--team?household
left outer join dbo.TEAMFUNDRAISER TF on TF.CONSTITUENTID=C0.ID AND TF.APPEALID=EV.APPEALID
left outer join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM ON TFTM.TEAMFUNDRAISERID =TF.ID
left outer join dbo.TEAMFUNDRAISINGTEAM TFT ON TFT.ID=TFTM.TEAMFUNDRAISINGTEAMID
left outer join dbo.TEAMEXTENSION TE ON TE.TEAMFUNDRAISINGTEAMID=TFT.ID
--Company
left outer join dbo.TEAMFUNDRAISINGTEAM CTFT ON CTFT.ID=TFT.ParentTeamID
left outer join dbo.TEAMEXTENSION CTE ON CTE.TEAMFUNDRAISINGTEAMID=CTFT.ID
WHERE (RG.ID = @REGISTRANTID OR @REGISTRANTID is null)
and (RG.CONSTITUENTID = @CONSTITUENTID or @CONSTITUENTID is null)
and (EV.id = @EVENTID OR @EVENTID is null)
and (TFT.ID = @TEAMID or @TEAMID is null)