USP_AMPROEXPORT_GETREGISTRANTDATA
Returns data used for exporting registrants to AuctionMaestro Pro.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@AUCTIONEVENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_AMPROEXPORT_GETREGISTRANTDATA
(
@AUCTIONEVENTID uniqueidentifier
)
as
set nocount on;
declare @SEQUENCEIDOFFSET int = 9999999;
with [REGISTRANT_CTE]
as
(
select
REGISTRANT.ID,
REGISTRANT.SEQUENCEID - @SEQUENCEIDOFFSET as [REGISTRANTSEQUENCEID],
REGISTRANT.LOOKUPID as [LOOKUPID],
(select coalesce(sum(AMOUNT),0) from dbo.REGISTRANTREGISTRATION where REGISTRANTREGISTRATION.REGISTRANTID = REGISTRANT.ID) as [REGISTRANTAMOUNT],
(select coalesce(sum(RECEIPTAMOUNT),0) from REGISTRANTREGISTRATION where REGISTRANTREGISTRATION.REGISTRANTID = REGISTRANT.ID) as [REGISTRANTRECEIPTAMOUNT],
REGISTRANT.CONSTITUENTID,
REGISTRANT.EVENTID
from dbo.REGISTRANT
where REGISTRANT.EVENTID = @AUCTIONEVENTID
)
select
REGISTRANT.REGISTRANTSEQUENCEID,
REGISTRANT.ID as [REGISTRANTID],
REGISTRANT.LOOKUPID as [REGISTRANTLOOKUPID],
coalesce((select top 1 EVENTSEATINGSEAT.NAME from dbo.EVENTSEATINGSEAT where EVENTSEATINGSEAT.REGISTRANTID = REGISTRANT.ID order by SEQUENCE asc, DATEADDED desc), '') as [REGISTRANTSEAT],
CONSTITUENT.SEQUENCEID - @SEQUENCEIDOFFSET as [CONSTITUENTSEQUENCEID],
CONSTITUENT.LOOKUPID as [CONSTITUENTLOOKUPID],
CONSTITUENT.ISORGANIZATION as [CONSTITUENTISORGANIZATION],
(select DESCRIPTION from dbo.TITLECODE where TITLECODE.ID = CONSTITUENT.TITLECODEID) as [TITLE],
CONSTITUENT.FIRSTNAME,
CONSTITUENT.KEYNAME,
case
when NAMEFORMAT.ID is null then CONSTITUENT.NAME
else NAMEFORMAT.FORMATTEDNAME
end as [PRIMARYSALUTATION],
coalesce((select DESCRIPTION from ADDRESSTYPECODE where ADDRESSTYPECODE.ID = [PRIMARYADDRESS].ADDRESSTYPECODEID), '') as [PRIMARYADDRESSTYPE],
coalesce([PRIMARYADDRESS].ADDRESSBLOCK, '') as [PRIMARYADDRESSBLOCK],
coalesce([PRIMARYADDRESS].CITY, '') as [PRIMARYADDRESSCITY],
coalesce((select STATE.ABBREVIATION from dbo.STATE where STATE.ID = [PRIMARYADDRESS].STATEID), '') as [PRIMARYADDRESSSTATE],
coalesce(PRIMARYADDRESS.POSTCODE, '') as [PRIMARYADDRESSPOSTCODE],
coalesce((select COUNTRY.DESCRIPTION from dbo.COUNTRY where COUNTRY.ID = [PRIMARYADDRESS].COUNTRYID), '') as [PRIMARYADDRESSCOUNTRY],
coalesce((select DESCRIPTION from dbo.PHONETYPECODE where PHONETYPECODE.ID = [PRIMARYPHONE].PHONETYPECODEID), '') as [PRIMARYPHONETYPE],
coalesce([PRIMARYPHONE].NUMBER, '') as [PRIMARYPHONE],
coalesce((select DESCRIPTION from dbo.EMAILADDRESSTYPECODE where EMAILADDRESSTYPECODE.ID = [PRIMARYEMAIL].EMAILADDRESSTYPECODEID), '') as [PRIMARYEMAILTYPE],
coalesce([PRIMARYEMAIL].EMAILADDRESS, '') as [PRIMARYEMAIL],
case
when REGISTRANT.REGISTRANTAMOUNT > 0 then
case
when (select count(ID) from dbo.EVENTREGISTRANTPAYMENT as [PAY] where [PAY].REGISTRANTID = REGISTRANT.ID) = 0 then
cast(0 as bit)
else
cast(1 as bit)
end
else
cast(1 as bit)
end as [ISPAID],
case
when REGISTRANT.REGISTRANTAMOUNT > 0 then
(
select top 1 REVENUE.DATE
from dbo.REVENUE
inner join dbo.REVENUESPLIT on REVENUESPLIT.REVENUEID = REVENUE.ID
inner join dbo.EVENTREGISTRANTPAYMENT on EVENTREGISTRANTPAYMENT.PAYMENTID = REVENUESPLIT.ID
where EVENTREGISTRANTPAYMENT.REGISTRANTID = REGISTRANT.ID
order by REVENUE.DATEADDED asc
)
else
null
end as [PAIDDATE],
REGISTRANT.REGISTRANTAMOUNT as [REGISTRATIONAMOUNT],
REGISTRANT.REGISTRANTRECEIPTAMOUNT as [REGISTRATIONRECEIPTAMOUNT],
EVENTPRICE.NAME as [REGISTRATIONOPTION]
from [REGISTRANT_CTE] as [REGISTRANT]
inner join dbo.EVENTAUCTION on EVENTAUCTION.ID = REGISTRANT.EVENTID
inner join dbo.CONSTITUENT on CONSTITUENT.ID = REGISTRANT.CONSTITUENTID
left join dbo.ADDRESS as [PRIMARYADDRESS] on [PRIMARYADDRESS].CONSTITUENTID = CONSTITUENT.ID and [PRIMARYADDRESS].ISPRIMARY = 1
left join dbo.PHONE as [PRIMARYPHONE] on [PRIMARYPHONE].CONSTITUENTID = CONSTITUENT.ID and [PRIMARYPHONE].ISPRIMARY = 1
left join dbo.EMAILADDRESS as [PRIMARYEMAIL] on [PRIMARYEMAIL].CONSTITUENTID = CONSTITUENT.ID and [PRIMARYEMAIL].ISPRIMARY = 1
left join dbo.NAMEFORMAT on NAMEFORMAT.CONSTITUENTID = CONSTITUENT.ID and NAMEFORMAT.PRIMARYSALUTATION = 1
left join dbo.REGISTRANTREGISTRATION on REGISTRANT.ID = REGISTRANTREGISTRATION.REGISTRANTID
left join dbo.EVENTPRICE on EVENTPRICE.ID = REGISTRANTREGISTRATION.EVENTPRICEID