USP_DATAFORMTEMPLATE_VIEW_REGISTRANTPAGEEXPRESSION_2
The load procedure used by the view dataform template "Registrant Page Expression View Form 2"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@CONSTITUENTNAME | nvarchar(700) | INOUT | Name |
@CONSTITUENTID | uniqueidentifier | INOUT | CONSTITUENTID |
@ISGUEST | bit | INOUT | ISGUEST |
@ISUNKNOWNGUEST | bit | INOUT | ISUNKNOWNGUEST |
@GUESTOFREGISTRANTID | uniqueidentifier | INOUT | GUESTOFREGISTRANTID |
@GUESTOFREGISTRANTNAME | nvarchar(700) | INOUT | GUESTOFREGISTRANTNAME |
@EVENTID | uniqueidentifier | INOUT | EVENTID |
@EVENTNAME | nvarchar(100) | INOUT | EVENTNAME |
@HASAPPEAL | bit | INOUT | HASAPPEAL |
@ATTENDED | bit | INOUT | ATTENDED |
@WILLNOTATTEND | bit | INOUT | WILLNOTATTEND |
@ATTRIBUTEDEFINED | bit | INOUT | ATTRIBUTEDEFINED |
@SMARTFIELDDEFINED | bit | INOUT | SMARTFIELDDEFINED |
@BENEFITSWAIVED | bit | INOUT | BENEFITSWAIVED |
@HOSTREGISTRANTID | uniqueidentifier | INOUT | HOSTREGISTRANTID |
@HOSTCONSTITUENTNAME | nvarchar(700) | INOUT | Host name |
@HOSTCONSTITUENTID | uniqueidentifier | INOUT | HOSTCONSTITUENTID |
@HOSTATTENDED | bit | INOUT | HOSTATTENDED |
@HOSTWILLNOTATTEND | bit | INOUT | HOSTWILLNOTATTEND |
@ISCANCELLED | bit | INOUT | ISCANCELLED |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ISEVENTSPEAKER | bit | INOUT | ISEVENTSPEAKER |
@ISFRIENDSASKINGFRIENDS | bit | INOUT | ISFRIENDSASKINGFRIENDS |
@ISORGANIZATION | bit | INOUT | ISORGANIZATION |
@PARENTGROUPTYPE | nvarchar(20) | INOUT | PARENTGROUPTYPE |
@PARENTGROUPID | uniqueidentifier | INOUT | PARENTGROUPID |
@HASPARENTGROUP | bit | INOUT | HASPARENTGROUP |
@ISHOUSEHOLDMEMBER | bit | INOUT | ISHOUSEHOLDMEMBER |
@ISHOUSEHOLDLEADER | bit | INOUT | ISHOUSEHOLDLEADER |
@DESIGNATIONSONFEES | bit | INOUT | DESIGNATIONSONFEES |
@HASEVENTDESIGNATIONPAYMENT | bit | INOUT | HASEVENTDESIGNATIONPAYMENT |
@TOTALDESIGNATIONSMATCHRECEIPTAMOUNT | bit | INOUT | TOTALDESIGNATIONSMATCHRECEIPTAMOUNT |
@PARENTGROUPNAME | nvarchar(200) | INOUT | PARENTGROUPNAME |
@ISREGISTRATIONBENEFIT | bit | INOUT | ISREGISTRATIONBENEFIT |
@ISWAIVER | bit | INOUT | ISWAIVER |
@FRIENDSASKINGFRIENDSPAGEHEADER | nvarchar(250) | INOUT | FRIENDSASKINGFRIENDSPAGEHEADER |
@ISWALKIN | bit | INOUT | ISWALKIN |
@USERMARKEDATTENDANCE | bit | INOUT | USERMARKEDATTENDANCE |
@EVENTISPROCESSED | bit | INOUT | EVENTISPROCESSED |
@USER_GRANTED_CONSTITPERSONALINFO_EDIT | bit | INOUT | |
@ISREFUNDABLE | bit | INOUT | |
@TOTALFEES | money | INOUT | |
@ISPROMOTEREQUIRED | bit | INOUT | |
@ISSCHEDULEDEVENT | bit | INOUT | |
@HASLINKEDOPPORTUNITY | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_REGISTRANTPAGEEXPRESSION_2
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CONSTITUENTNAME nvarchar(700) = null output,
@CONSTITUENTID uniqueidentifier = null output,
@ISGUEST bit = null output,
@ISUNKNOWNGUEST bit = null output,
@GUESTOFREGISTRANTID uniqueidentifier = null output,
@GUESTOFREGISTRANTNAME nvarchar(700) = null output,
@EVENTID uniqueidentifier = null output,
@EVENTNAME nvarchar(100) = null output,
@HASAPPEAL bit = null output,
@ATTENDED bit = null output,
@WILLNOTATTEND bit = null output,
@ATTRIBUTEDEFINED bit = null output,
@SMARTFIELDDEFINED bit = null output,
@BENEFITSWAIVED bit = null output,
@HOSTREGISTRANTID uniqueidentifier = null output,
@HOSTCONSTITUENTNAME nvarchar(700) = null output,
@HOSTCONSTITUENTID uniqueidentifier = null output,
@HOSTATTENDED bit = null output,
@HOSTWILLNOTATTEND bit = null output,
@ISCANCELLED bit = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@ISEVENTSPEAKER bit = null output,
@ISFRIENDSASKINGFRIENDS bit = null output,
@ISORGANIZATION bit = null output,
@PARENTGROUPTYPE nvarchar(20) = null output,
@PARENTGROUPID uniqueidentifier = null output,
@HASPARENTGROUP bit = null output,
@ISHOUSEHOLDMEMBER bit = null output,
@ISHOUSEHOLDLEADER bit = null output,
@DESIGNATIONSONFEES bit = null output,
@HASEVENTDESIGNATIONPAYMENT bit = null output,
@TOTALDESIGNATIONSMATCHRECEIPTAMOUNT bit = null output,
@PARENTGROUPNAME nvarchar(200) = null output,
@ISREGISTRATIONBENEFIT bit = null output,
@ISWAIVER bit = null output,
@FRIENDSASKINGFRIENDSPAGEHEADER nvarchar(250) = null output,
@ISWALKIN bit = null output,
@USERMARKEDATTENDANCE bit = null output,
@EVENTISPROCESSED bit = null output,
@USER_GRANTED_CONSTITPERSONALINFO_EDIT bit = null output,
@ISREFUNDABLE bit = null output,
@TOTALFEES money = null output,
@ISPROMOTEREQUIRED bit = null output,
@ISSCHEDULEDEVENT bit = null output,
@HASLINKEDOPPORTUNITY bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
select @EVENTID=EVENTID from REGISTRANT where ID=@ID;
set @ISSCHEDULEDEVENT = 0;
select
@ISSCHEDULEDEVENT = 1
from dbo.REGISTRANT
inner join dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
where
REGISTRANT.ID = @ID and
EVENT.PROGRAMID is not null;
set @HASLINKEDOPPORTUNITY = 0;
if exists (select top 1 ID from dbo.EVENTREGISTRATIONOPPORTUNITY where ID = @ID)
set @HASLINKEDOPPORTUNITY = 1;
select
@DATALOADED = 1,
@CONSTITUENTNAME = dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID),
@CONSTITUENTID = REGISTRANT.CONSTITUENTID,
@ISGUEST = case when REGISTRANT.GUESTOFREGISTRANTID is null then 0 else 1 end,
@ISUNKNOWNGUEST = case when REGISTRANT.CONSTITUENTID is null then 1 else 0 end,
@GUESTOFREGISTRANTID = REGISTRANT.GUESTOFREGISTRANTID,
@GUESTOFREGISTRANTNAME = GUESTOF_NF.NAME,
@EVENTNAME = EVENT.NAME,
@HASAPPEAL = case when EVENT.APPEALID is null then 0 else 1 end,
@ATTENDED = REGISTRANT.ATTENDED,
@WILLNOTATTEND = REGISTRANT.WILLNOTATTEND,
@ISCANCELLED = dbo.UFN_REGISTRANT_ISCANCELLED(REGISTRANT.ID),
@ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('REGISTRANT',@CURRENTAPPUSERID),
@SMARTFIELDDEFINED = dbo.UFN_SMARTFIELD_DEFINEDFORRECORDTYPE('REGISTRANT'),
@BENEFITSWAIVED = REGISTRANT.BENEFITSWAIVED,
@HOSTREGISTRANTID =
case
when REGISTRANT.GUESTOFREGISTRANTID is null then REGISTRANT.ID
else REGISTRANT.GUESTOFREGISTRANTID
end,
@ISEVENTSPEAKER = cast(isnull((select 1 from dbo.EVENTSPEAKER where EVENTSPEAKER.CONSTITUENTID = REGISTRANT.CONSTITUENTID and EVENTSPEAKER.EVENTID = REGISTRANT.EVENTID),0) as bit),
@ISFRIENDSASKINGFRIENDS = dbo.UFN_IS_FRIENDS_ASKING_FRIENDS_EVENT(REGISTRANT.EVENTID),
@ISORGANIZATION = CONSTITUENT.ISORGANIZATION,
@PARENTGROUPTYPE = LOWER(case when TEAMEXTENSION.[TYPE] is not null then TEAMEXTENSION.[TYPE] else '' end),
@PARENTGROUPID = TEAMEXTENSION.TEAMFUNDRAISINGTEAMID,
@HASPARENTGROUP = case when TEAMEXTENSION.TEAMFUNDRAISINGTEAMID is not null then 1 else 0 end,
@ISHOUSEHOLDMEMBER = case when er.RoleCode=4 then 1 else 0 end,
@ISHOUSEHOLDLEADER = case when er.RoleCode=3 then 1 else 0 end,
@DESIGNATIONSONFEES = EVENT.DESIGNATIONSONFEES,
@TOTALDESIGNATIONSMATCHRECEIPTAMOUNT =
case when (EVENT.DESIGNATIONSONFEES = 1) and
(select sum(RECEIPTAMOUNT) from dbo.REGISTRANTREGISTRATION where REGISTRANTID = @ID) <> (select sum(AMOUNT) from dbo.REGISTRANTDESIGNATION where REGISTRANTID = @ID)
then 0
else 1
end,
@PARENTGROUPNAME = TEAMFUNDRAISINGTEAM.NAME,
@ISREGISTRATIONBENEFIT = case when (select count(*) from dbo.REGISTRANTBENEFITEXTENSION RBE where RBE.REGISTRANTID = REGISTRANT.ID and RBE.BENEFITTYPECODE = 0) > 0 then 1 else 0 end,
@ISWAIVER =
case when REGISTRANTEXTENSION.WAIVERID is not null then 1 else 0 end,
---cast(isnull((select 1 from dbo.REGISTRANTBENEFITEXTENSION RBE where RBE.REGISTRANTID = REGISTRANT.ID and RBE.BENEFITTYPECODE = 0),0) as bit)
--
@ISWALKIN = REGISTRANT.ISWALKIN,
@USERMARKEDATTENDANCE = REGISTRANT.USERMARKEDATTENDANCE,
@EVENTISPROCESSED = EVENT.ISPROCESSED,
@ISREFUNDABLE =
case when coalesce((select sum(AMOUNT) from dbo.EVENTREGISTRANTPAYMENT where REGISTRANTID = @ID), 0) > coalesce((select sum(CREDITITEM.TOTAL) from dbo.CREDITITEMEVENTREGISTRATION inner join dbo.CREDITITEM on CREDITITEMEVENTREGISTRATION.ID = CREDITITEM.ID where CREDITITEMEVENTREGISTRATION.REGISTRANTID = @ID), 0)
then 1
else 0
end,
@TOTALFEES = coalesce((select sum(EVENTREGISTRANTPAYMENT.AMOUNT) from dbo.EVENTREGISTRANTPAYMENT where EVENTREGISTRANTPAYMENT.REGISTRANTID = @ID),0)
from dbo.REGISTRANT
left join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID
left join dbo.CONSTITUENT on REGISTRANT.CONSTITUENTID = CONSTITUENT.ID
left join dbo.UFN_REGISTRANT_GETFAFROLE(@EVENTID, null) er on er.REGISTRANTID=REGISTRANT.ID
left join dbo.TEAMFUNDRAISINGTEAM on TEAMFUNDRAISINGTEAM.ID=er.TEAMFUNDRAISINGTEAMID
left join dbo.TEAMEXTENSION on TEAMEXTENSION.TEAMFUNDRAISINGTEAMID = TEAMFUNDRAISINGTEAM.ID
left join dbo.REGISTRANT as GUESTOF on GUESTOF.ID = REGISTRANT.GUESTOFREGISTRANTID
left join REGISTRANTEXTENSION on REGISTRANTEXTENSION.REGISTRANTID = REGISTRANT.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(GUESTOF.CONSTITUENTID) GUESTOF_NF
left join dbo.EVENTREGISTRANTPAYMENT on REGISTRANT.ID = EVENTREGISTRANTPAYMENT.REGISTRANTID
where
REGISTRANT.ID = @ID;
;With GRPCNT as
(
select
count(TFTM2.TEAMFUNDRAISINGTEAMID) as members,
TFTC.ID as CAPTAINID,
X.CAPTAINCNT
from dbo.REGISTRANT R (nolock)
join dbo.TEAMFUNDRAISER TF (nolock) on R.CONSTITUENTID = TF.CONSTITUENTID
join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM (nolock) on TF.ID = TFTM.TEAMFUNDRAISERID
join dbo.TEAMEXTENSION TX (nolock) on TX.TEAMFUNDRAISINGTEAMID = TFTM.TEAMFUNDRAISINGTEAMID and TX.EVENTID = R.EVENTID
left join dbo.TEAMFUNDRAISINGTEAMCAPTAIN TFTC (nolock) on TFTC.CONSTITUENTID = R.CONSTITUENTID and TFTC.TEAMFUNDRAISINGTEAMID = TX.TEAMFUNDRAISINGTEAMID
left join (select COUNT(ID) CAPTAINCNT, TFTC2.TEAMFUNDRAISINGTEAMID
from dbo.TEAMFUNDRAISINGTEAMCAPTAIN TFTC2 (nolock)
where TFTC2.TEAMFUNDRAISINGTEAMID = @PARENTGROUPID
group by TFTC2.TEAMFUNDRAISINGTEAMID) X on X.TEAMFUNDRAISINGTEAMID = TX.TEAMFUNDRAISINGTEAMID
left join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM2 (nolock) on TFTM2.TEAMFUNDRAISINGTEAMID = TFTM.TEAMFUNDRAISINGTEAMID
where R.ID = @ID
group by TFTC.ID, X.CAPTAINCNT
)
select @ISPROMOTEREQUIRED = case when CAPTAINID is not null and CAPTAINCNT < 2 and members > 1 then 1 else 0 end from GRPCNT
if @ISFRIENDSASKINGFRIENDS = 1
begin
if @PARENTGROUPNAME is null
select @FRIENDSASKINGFRIENDSPAGEHEADER= R.Role from dbo.UFN_REGISTRANT_GETFAFROLE(@EVENTID, NULL) R where R.REGISTRANTID = @ID
else
select @FRIENDSASKINGFRIENDSPAGEHEADER= R.Role + ': ' + @PARENTGROUPNAME from dbo.UFN_REGISTRANT_GETFAFROLE(@EVENTID, NULL) R where R.REGISTRANTID = @ID
end
if @DATALOADED = 1
begin
--Host fields
select
@HOSTCONSTITUENTNAME = NF.NAME,
@HOSTCONSTITUENTID = REGISTRANT.CONSTITUENTID,
@HOSTATTENDED = REGISTRANT.ATTENDED,
@HOSTWILLNOTATTEND = REGISTRANT.WILLNOTATTEND
from
dbo.REGISTRANT
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REGISTRANT.CONSTITUENTID) NF
where
REGISTRANT.ID = @HOSTREGISTRANTID;
set @HASEVENTDESIGNATIONPAYMENT = 0;
if exists(
select 1
from dbo.EVENTREGISTRANTPAYMENT
inner join dbo.REVENUESPLIT on REVENUESPLIT.ID = EVENTREGISTRANTPAYMENT.PAYMENTID
where
EVENTREGISTRANTPAYMENT.REGISTRANTID = isnull(@GUESTOFREGISTRANTID,@ID)
and REVENUESPLIT.APPLICATIONCODE = 1
and REVENUESPLIT.TYPECODE = 0)
set @HASEVENTDESIGNATIONPAYMENT = 1;
if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
begin
set @USER_GRANTED_CONSTITPERSONALINFO_EDIT = 1;
end
else
begin
set @USER_GRANTED_CONSTITPERSONALINFO_EDIT =
case
when @ISORGANIZATION = 1 then dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'a9954902-ea62-48ae-8e6f-4e2ed3c3f4f9')
else dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'788AB947-26ED-40C4-865E-8FE29577E593')
end;
end
end
return 0;