USP_DATALIST_REVENUEBATCHREGISTRANTCOMMITMENTS
Returns a list of all of the event registration commitments for a constituent created in revenue batch.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@BATCHID | uniqueidentifier | IN | Batch |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_REVENUEBATCHREGISTRANTCOMMITMENTS (
@CONSTITUENTID uniqueidentifier,
@BATCHID uniqueidentifier
) as
declare @CURRENTDATE datetime;
set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @HOUSEHOLDID uniqueidentifier;
select
top(1) @HOUSEHOLDID = GROUPMEMBER.GROUPID
from
dbo.GROUPMEMBER
left outer join
dbo.GROUPDATA as GROUPDATA on GROUPDATA.ID = GROUPMEMBER.GROUPID
where
GROUPMEMBER.MEMBERID = @CONSTITUENTID
and
GROUPDATA.GROUPTYPECODE = 0
and
dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GROUPMEMBER.ID) = 1;
if @HOUSEHOLDID is null
select top(1)
@HOUSEHOLDID = BATCHREVENUECONSTITUENTGROUPMEMBER.GROUPID
from
dbo.BATCHREVENUECONSTITUENTGROUPMEMBER
left outer join
dbo.BATCHREVENUECONSTITUENT [GROUPCONSTITUENT] on BATCHREVENUECONSTITUENTGROUPMEMBER.GROUPID = [GROUPCONSTITUENT].ID
where
BATCHREVENUECONSTITUENTGROUPMEMBER.MEMBERID = @CONSTITUENTID
and
([GROUPCONSTITUENT].ISGROUP = 1 and [GROUPCONSTITUENT].GROUPTYPECODE = 0);
with CONSTITUENT_CTE as
(
select
@CONSTITUENTID as ID
union
select
GROUPMEMBER.MEMBERID
from
dbo.GROUPMEMBER
left outer join
dbo.GROUPMEMBERDATERANGE on GROUPMEMBER.ID = GROUPMEMBERDATERANGE.GROUPMEMBERID
where
(GROUPMEMBER.GROUPID = @HOUSEHOLDID or GROUPMEMBER.GROUPID = @CONSTITUENTID)
and ((GROUPMEMBERDATERANGE.DATEFROM is null and (GROUPMEMBERDATERANGE.DATETO is null or GROUPMEMBERDATERANGE.DATETO > @CURRENTDATE))
or (GROUPMEMBERDATERANGE.DATETO is null and (GROUPMEMBERDATERANGE.DATEFROM is null or GROUPMEMBERDATERANGE.DATEFROM <= @CURRENTDATE))
or (GROUPMEMBERDATERANGE.DATEFROM <= @CURRENTDATE and GROUPMEMBERDATERANGE.DATETO > @CURRENTDATE))
union
select
coalesce(BATCHREVENUECONSTITUENT.EXISTINGCONSTITUENTID, BATCHREVENUECONSTITUENT.ID)
from
dbo.BATCHREVENUECONSTITUENTGROUPMEMBER
inner join
dbo.BATCHREVENUECONSTITUENT on BATCHREVENUECONSTITUENTGROUPMEMBER.MEMBERID = BATCHREVENUECONSTITUENT.ID
where
(BATCHREVENUECONSTITUENTGROUPMEMBER.GROUPID = @HOUSEHOLDID or BATCHREVENUECONSTITUENTGROUPMEMBER.GROUPID = @CONSTITUENTID)
)
select
BATCHREVENUEREGISTRANT.ID,
coalesce(BATCHREVENUEREGISTRANT.CONSTITUENTID, BATCHREVENUECONSTITUENT.ID),
coalesce(CONSTITUENT_NF.NAME, BATCHREVENUECONSTITUENT.NAME),
0,
dbo.UFN_REVENUEBATCH_EVENTREGISTRANT_GETBALANCE(BATCHREVENUEREGISTRANT.ID),
dbo.UFN_REVENUEBATCH_EVENTREGISTRANT_GETBALANCE(BATCHREVENUEREGISTRANT.ID),
[EVENT].STARTDATE,
6, --Event Registration
[EVENT].NAME,
case when coalesce(BATCHREVENUEREGISTRANT.CONSTITUENTID, BATCHREVENUECONSTITUENT.ID) = @CONSTITUENTID then 1 else 0 end,
EVENT.BASECURRENCYID APPLICATIONCURRENCYID
from
dbo.BATCHREVENUEREGISTRANT
inner join
CONSTITUENT_CTE on BATCHREVENUEREGISTRANT.CONSTITUENTID = CONSTITUENT_CTE.ID
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(BATCHREVENUEREGISTRANT.CONSTITUENTID) CONSTITUENT_NF
left outer join
dbo.BATCHREVENUECONSTITUENT on BATCHREVENUECONSTITUENT.ID = BATCHREVENUEREGISTRANT.CONSTITUENTID
inner join
dbo.[EVENT] on [EVENT].ID = BATCHREVENUEREGISTRANT.EVENTID
where
dbo.UFN_REVENUEBATCH_EVENTREGISTRANT_GETBALANCE(BATCHREVENUEREGISTRANT.ID) > 0
and BATCHREVENUEREGISTRANT.BATCHID = @BATCHID