USP_DATAFORMTEMPLATE_ADD_SALESORDERITEMEVENTREGISTRATION_ONLINE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@EVENTID | uniqueidentifier | IN | |
@HOSTCONSTITUENTID | uniqueidentifier | IN | |
@SINGLEEVENTREGISTRATIONS | xml | IN | |
@REGISTRANTMAPPINGS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SALESORDERITEMEVENTREGISTRATION_ONLINE
(
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@EVENTID uniqueidentifier,
@HOSTCONSTITUENTID uniqueidentifier = null,
@SINGLEEVENTREGISTRATIONS xml = null,
@REGISTRANTMAPPINGS xml = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
declare @UNKNOWNGUESTWELLKNOWNGUID uniqueidentifier = 'C776DAB5-65B2-4258-ADAE-AE396D28E251'; --Well-known GUID for unknown guest
begin try
declare @REGISTRANTS_TABLE table (
[ID] uniqueidentifier,
[EVENTID] uniqueidentifier,
[EVENTPRICEID] uniqueidentifier,
[REGISTRATIONSCOLLECTIONID] uniqueidentifier,
[PREFERENCES] xml,
[REGISTERLATER] bit,
[CONSTITUENTID] uniqueidentifier,
[FIRSTNAME] nvarchar(50),
[KEYNAME] nvarchar(100),
[PHONE] nvarchar(100),
[EMAIL] dbo.UDT_EMAILADDRESS,
[TITLECODEID] uniqueidentifier,
[ADDRESSBLOCK] nvarchar(150),
[CITY] nvarchar(50),
[STATEID] uniqueidentifier,
[POSTCODE] nvarchar(12),
[COUNTRYID] uniqueidentifier
);
insert into @REGISTRANTS_TABLE
select
newid(),
T.registrants.value('(EVENTID)[1]','uniqueidentifier') as 'EVENTID',
T.registrants.value('(EVENTPRICEID)[1]','uniqueidentifier') as 'EVENTPRICEID',
T.registrants.value('(REGISTRATIONSCOLLECTIONID)[1]','uniqueidentifier') as 'REGISTRATIONSCOLLECTIONID',
T.registrants.query('(PREFERENCES)[1]') as 'PREFERENCES',
T.registrants.value('(REGISTERLATER)[1]','bit') as 'REGISTERLATER',
T.registrants.value('(GUESTCONSTITUENTID)[1]','uniqueidentifier') as 'CONSTITUENTID',
T.registrants.value('(FIRSTNAME)[1]','nvarchar(50)') as 'FIRSTNAME',
T.registrants.value('(KEYNAME)[1]','nvarchar(100)') as 'KEYNAME',
T.registrants.value('(PHONE)[1]','nvarchar(100)') as 'PHONE',
isnull(T.registrants.value('(EMAIL)[1]','dbo.UDT_EMAILADDRESS'),'') as 'EMAIL',
dbo.UFN_TITLECODE_GETID(T.registrants.value('(TITLE)[1]','nvarchar(100)')) as 'TITLECODEID',
T.registrants.value('(ADDRESSBLOCK)[1]','nvarchar(150)') as 'ADDRESSBLOCK',
T.registrants.value('(CITY)[1]','nvarchar(50)') as 'CITY',
T.registrants.value('(STATEID)[1]','uniqueidentifier') as 'STATEID',
T.registrants.value('(POSTCODE)[1]','nvarchar(12)') as 'POSTCODE',
T.registrants.value('(COUNTRYID)[1]','uniqueidentifier') as 'COUNTRYID'
from @REGISTRANTMAPPINGS.nodes('/REGISTRANTMAPPINGS/ITEM') T(registrants)
--Automatch prep (don't want to do this work each time through the registrant cursor)
declare @ADDRESSSUBSTITUTIONS dbo.UDT_STRINGPAIR_100
insert into @ADDRESSSUBSTITUTIONS
select
[DESIGNATION],
[ABBREVIATION]
from dbo.UFN_ADDRESS_ADDRESSBLOCK_STANDARDUSABBREVIATIONS_LOWERCASE()
declare @CONSTITUENTMATCHES table (
[ID] uniqueidentifier
)
--End automatch prep
--Registrant cursor prep
--Matching/Creating constituent records for registrants without them
--Updating constituent records for title, firstname
declare
@REGISTRANTID uniqueidentifier,
@REGISTRANTREGISTERLATER bit,
@REGISTRANTCONSTITUENTID uniqueidentifier,
@REGISTRANTFIRSTNAME nvarchar(50),
@REGISTRANTKEYNAME nvarchar(100),
@REGISTRANTPHONE nvarchar(100),
@REGISTRANTTITLECODEID uniqueidentifier,
@REGISTRANTEMAIL dbo.UDT_EMAILADDRESS,
@REGISTRANTCOUNTRYID uniqueidentifier,
@REGISTRANTSTATEID uniqueidentifier,
@REGISTRANTADDRESSBLOCK nvarchar(150),
@REGISTRANTCITY nvarchar(50),
@REGISTRANTPOSTCODE nvarchar(12)
declare REGISTRANT_CURSOR cursor local fast_forward for
select
[ID],
isnull([REGISTERLATER], 1),
case when [CONSTITUENTID] = '00000000-0000-0000-0000-000000000000' then null else [CONSTITUENTID] end,
isnull([FIRSTNAME],''),
isnull([KEYNAME],''),
[TITLECODEID],
isnull([PHONE],''),
isnull([EMAIL],''),
[COUNTRYID],
[STATEID],
isnull([ADDRESSBLOCK],''),
isnull([CITY],''),
isnull([POSTCODE],'')
from @REGISTRANTS_TABLE;
declare @VALIDADDRESS bit = 0;
--End registrant cursor prep
--Starting registrant matching/creating work
open REGISTRANT_CURSOR
fetch next from REGISTRANT_CURSOR into
@REGISTRANTID,
@REGISTRANTREGISTERLATER,
@REGISTRANTCONSTITUENTID,
@REGISTRANTFIRSTNAME,
@REGISTRANTKEYNAME,
@REGISTRANTTITLECODEID,
@REGISTRANTPHONE,
@REGISTRANTEMAIL,
@REGISTRANTCOUNTRYID,
@REGISTRANTSTATEID,
@REGISTRANTADDRESSBLOCK,
@REGISTRANTCITY,
@REGISTRANTPOSTCODE
while @@FETCH_STATUS = 0
begin
set @VALIDADDRESS = 0
if @REGISTRANTSTATEID = '00000000-0000-0000-0000-000000000000'
set @REGISTRANTSTATEID = null
set @REGISTRANTADDRESSBLOCK = isnull(@REGISTRANTADDRESSBLOCK,'')
set @REGISTRANTCITY = isnull(@REGISTRANTCITY, '')
set @REGISTRANTPOSTCODE = isnull(@REGISTRANTPOSTCODE, '')
if (@REGISTRANTCOUNTRYID is not null and @REGISTRANTCOUNTRYID <> '00000000-0000-0000-0000-000000000000') and
(
@REGISTRANTSTATEID is not null or
@REGISTRANTADDRESSBLOCK <> '' or
@REGISTRANTCITY <> '' or
@REGISTRANTPOSTCODE <> ''
)
begin
set @VALIDADDRESS = 1
end
--Find a constituent record match if we don't have one for this registrant
if @REGISTRANTCONSTITUENTID is null and @REGISTRANTREGISTERLATER = 0
begin
--See if we have a match first
delete @CONSTITUENTMATCHES
insert into @CONSTITUENTMATCHES
select [CONSTITUENT].[ID]
from dbo.UFN_WEBFORMS_CONSTITUENT_EXACTAUTOMATCH (
50,
@REGISTRANTKEYNAME,
@REGISTRANTFIRSTNAME,
@REGISTRANTTITLECODEID,
@REGISTRANTADDRESSBLOCK,
@REGISTRANTCITY,
@REGISTRANTCOUNTRYID,
@REGISTRANTSTATEID,
@REGISTRANTPOSTCODE,
@REGISTRANTPHONE,
@REGISTRANTEMAIL,
@ADDRESSSUBSTITUTIONS
) [CONSTITUENT]
--Only a match if we have one or if the host is a match
declare @CONSTITUENTMATCHID uniqueidentifier = null
if (select count([ID]) from @CONSTITUENTMATCHES) = 1
select @CONSTITUENTMATCHID = [ID] from @CONSTITUENTMATCHES
else if exists(select top 1 [ID] from @CONSTITUENTMATCHES where [ID] = @HOSTCONSTITUENTID)
select @CONSTITUENTMATCHID = @HOSTCONSTITUENTID
if @CONSTITUENTMATCHID is not null
begin
if --Not already a registrant for this event
not exists(
select 1
from dbo.[REGISTRANT]
where
[REGISTRANT].[CONSTITUENTID] = @CONSTITUENTMATCHID and
[REGISTRANT].[EVENTID] = @EVENTID and
--Allow hosts that haven't been marked as attending to match
(
[REGISTRANT].[WILLNOTATTEND] = 0 or
exists(select top 1 [ID] from dbo.REGISTRANTREGISTRATIONMAP where [REGISTRANTID] = [REGISTRANT].[ID])
)
) and
--Not already in registrant mapping
not exists (
select 1
from @REGISTRANTS_TABLE [R]
where [R].[CONSTITUENTID] = @CONSTITUENTMATCHID
)
begin
set @REGISTRANTCONSTITUENTID = @CONSTITUENTMATCHID
update @REGISTRANTS_TABLE
set [CONSTITUENTID] = @REGISTRANTCONSTITUENTID
where [ID] = @REGISTRANTID
end
end
end
--Find a match or add a constituent record if we don't have one for this registrant
if @REGISTRANTCONSTITUENTID is null and @REGISTRANTREGISTERLATER = 0
begin
--If we had no match, let's create this constituent
if @REGISTRANTCONSTITUENTID is null
begin
set @REGISTRANTCONSTITUENTID = newid()
insert into dbo.CONSTITUENT
(
[ID],
[KEYNAME],
[FIRSTNAME],
[TITLECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@REGISTRANTCONSTITUENTID,
@REGISTRANTKEYNAME,
@REGISTRANTFIRSTNAME,
@REGISTRANTTITLECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
insert into dbo.CONSTITUENTORIGINATION (
[ID],
[ORIGINCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@REGISTRANTCONSTITUENTID,
1,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
if len(@REGISTRANTPHONE) > 0
begin
exec dbo.USP_PHONE_CREATE
null, --@ID
@CHANGEAGENTID,
@CURRENTDATE,
@REGISTRANTCONSTITUENTID,
null, --@PHONETYPECODEID
@REGISTRANTPHONE,
1, --@PRIMARY
@ORIGINCODE = 1,
@COUNTRYID = @REGISTRANTCOUNTRYID;
end
if len(@REGISTRANTEMAIL) > 0
begin
exec dbo.USP_EMAILADDRESS_CREATE
null, --@ID
@CHANGEAGENTID,
@CURRENTDATE,
@REGISTRANTCONSTITUENTID,
null, --@EMAILADDRESSTYPECODEID
@REGISTRANTEMAIL,
1, --@PRIMARY
@ORIGINCODE = 1;
end
if @VALIDADDRESS = 1
begin
exec dbo.USP_ADDRESS_CREATE
null, --ID
@CHANGEAGENTID,
@REGISTRANTCONSTITUENTID,
null, --ADDRESSTYPECODEID
1, --Primary
0, --Do not mail
'0000', --Start Date
'0000', --End Date
@REGISTRANTCOUNTRYID,
@REGISTRANTSTATEID,
@REGISTRANTADDRESSBLOCK,
@REGISTRANTCITY,
@REGISTRANTPOSTCODE,
@ORIGINCODE = 1;
end
/*Start name format defaults*/
insert into [dbo].[NAMEFORMAT] (
[CONSTITUENTID],
[NAMEFORMATTYPECODEID],
[NAMEFORMATFUNCTIONID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[PRIMARYADDRESSEE],
[PRIMARYSALUTATION],
[SEQUENCE]
)
select
@REGISTRANTCONSTITUENTID,
NFD.NAMEFORMATTYPECODEID,
NFD.NAMEFORMATFUNCTIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
NFD.PRIMARYADDRESSEE,
NFD.PRIMARYSALUTATION,
(
select count(ID)
from dbo.NAMEFORMATDEFAULT as SUBNFD
where
NFD.ID > SUBNFD.ID
and NFD.APPLYTOCODE = SUBNFD.APPLYTOCODE
)
from dbo.NAMEFORMATDEFAULT as NFD
where NFD.APPLYTOCODE = 0
end
update @REGISTRANTS_TABLE
set [CONSTITUENTID] = @REGISTRANTCONSTITUENTID
where [ID] = @REGISTRANTID
end
else if not @REGISTRANTCONSTITUENTID is null and @REGISTRANTREGISTERLATER = 0 --Update constituent
begin
update dbo.[CONSTITUENT]
set
[FIRSTNAME] = case when len([FIRSTNAME]) = 0 then @REGISTRANTFIRSTNAME else [FIRSTNAME] end,
[TITLECODEID] = case when [TITLECODEID] is null then @REGISTRANTTITLECODEID else [TITLECODEID] end,
[TITLE2CODEID] = case when [TITLECODEID] <> @REGISTRANTTITLECODEID and [TITLE2CODEID] is null then @REGISTRANTTITLECODEID else [TITLE2CODEID] end,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @REGISTRANTCONSTITUENTID
if len(@REGISTRANTPHONE) > 0
begin
declare @PHONEEXISTS bit = 0
declare @HASPRIMARYPHONE bit = 0
declare @PHONENOFORMAT nvarchar(100) = dbo.UFN_PHONE_REMOVEFORMATTING(@REGISTRANTPHONE);
select top 1
@PHONEEXISTS = [PHONENUMBER].[EXISTS],
@HASPRIMARYPHONE = [PHONE].[ISPRIMARY]
from dbo.[PHONE] with (nolock)
cross apply(select case when [NUMBERNOFORMAT] = @PHONENOFORMAT then 1 else 0 end as [EXISTS]) as [PHONENUMBER]
where [CONSTITUENTID] = @REGISTRANTCONSTITUENTID
--Order by: If the phone number exists already, we'll see that and not create the phone. If not, the next thing we care about is whether they have a primary already.
order by [PHONENUMBER].[EXISTS] desc, [ISPRIMARY] desc
if @PHONEEXISTS = 0
begin
declare @PRIMARYPHONE bit = ~@HASPRIMARYPHONE
exec dbo.USP_PHONE_CREATE
null, --@ID
@CHANGEAGENTID,
@CURRENTDATE,
@REGISTRANTCONSTITUENTID,
null, --@PHONETYPECODEID
@REGISTRANTPHONE,
@PRIMARYPHONE, --@PRIMARY
@ORIGINCODE = 1,
@COUNTRYID = @REGISTRANTCOUNTRYID;
end
end
if len(@REGISTRANTEMAIL) > 0
begin
declare @EMAILEXISTS bit = 0
declare @HASPRIMARYEMAIL bit = 0
select top 1
@EMAILEXISTS = [EMAIL].[EXISTS],
@HASPRIMARYEMAIL = [EMAILADDRESS].[ISPRIMARY]
from dbo.[EMAILADDRESS] with (nolock)
cross apply(select case when [EMAILADDRESS] = @REGISTRANTEMAIL then 1 else 0 end as [EXISTS]) as [EMAIL]
where [CONSTITUENTID] = @REGISTRANTCONSTITUENTID
--Order by: If the email address exists already, we'll see that and not create the email. If not, the next thing we care about is whether they have a primary already.
order by [EMAIL].[EXISTS] desc, [ISPRIMARY] desc;
if @EMAILEXISTS = 0
begin
declare @PRIMARYEMAIL bit = ~@HASPRIMARYEMAIL
exec dbo.USP_EMAILADDRESS_CREATE
null, --@ID
@CHANGEAGENTID,
@CURRENTDATE,
@REGISTRANTCONSTITUENTID,
null, --@EMAILADDRESSTYPECODEID
@REGISTRANTEMAIL,
@PRIMARYEMAIL, --@PRIMARY
@ORIGINCODE = 1;
end
end
if @VALIDADDRESS = 1
begin
declare @CREATEADDRESS bit = 0
declare @PRIMARYADDRESS bit = 1
--Web forms constituent match setting
declare @LEFTPOSTCODECOUNT tinyint = 0
select @LEFTPOSTCODECOUNT = [LEFTPOSTCODECOUNT]
from dbo.[CONSTITUENTDUPLICATESEARCHSETTINGS]
where [ID] = '7BDE63AA-73B8-4A31-BE9F-82D92B67E2F4'
declare @HASPRIMARY bit = 0
declare @ADDRESSEXISTS bit = 0
select top 1
@ADDRESSEXISTS = [ADDY].[EXISTS],
@HASPRIMARY = [ADDRESS].[ISPRIMARY]
from dbo.[ADDRESS] with (nolock)
cross apply (
select case
when
dbo.UFN_ADDRESS_ADDRESSBLOCK_NORMALIZE_LOWERCASE([ADDRESS].[ADDRESSBLOCK], @ADDRESSSUBSTITUTIONS) = dbo.UFN_ADDRESS_ADDRESSBLOCK_NORMALIZE_LOWERCASE(@REGISTRANTADDRESSBLOCK, @ADDRESSSUBSTITUTIONS) and
lower([ADDRESS].[CITY]) = lower(@REGISTRANTCITY) and
left([ADDRESS].[POSTCODE], @LEFTPOSTCODECOUNT) = left(@REGISTRANTPOSTCODE, @LEFTPOSTCODECOUNT) and
[ADDRESS].[COUNTRYID] = @REGISTRANTCOUNTRYID and
([ADDRESS].[STATEID] = @REGISTRANTSTATEID or @REGISTRANTSTATEID is null)
then 1
else 0
end as [EXISTS]
) [ADDY]
where [ADDRESS].[CONSTITUENTID] = @REGISTRANTCONSTITUENTID
order by [ADDY].[EXISTS] desc, [ADDRESS].[ISPRIMARY] desc
set @CREATEADDRESS = ~@ADDRESSEXISTS
set @PRIMARYADDRESS = ~@HASPRIMARY
end
else if not exists(select 1 from dbo.[ADDRESS] where [CONSTITUENTID] = @REGISTRANTCONSTITUENTID)
set @CREATEADDRESS = 1
if @CREATEADDRESS = 1
begin
exec dbo.USP_ADDRESS_CREATE
null, --ID
@CHANGEAGENTID,
@REGISTRANTCONSTITUENTID,
null, --ADDRESSTYPECODEID
@PRIMARYADDRESS, --Primary
0, --Do not mail
'0000', --Start Date
'0000', --End Date
@REGISTRANTCOUNTRYID,
@REGISTRANTSTATEID,
@REGISTRANTADDRESSBLOCK,
@REGISTRANTCITY,
@REGISTRANTPOSTCODE,
@ORIGINCODE = 1;
end
end
else --Registrant is 'register later' but has constituent ID set. Let's knock it out
begin
update @REGISTRANTS_TABLE
set [CONSTITUENTID] = @UNKNOWNGUESTWELLKNOWNGUID
where [ID] = @REGISTRANTID
end
fetch next from REGISTRANT_CURSOR into
@REGISTRANTID,
@REGISTRANTREGISTERLATER,
@REGISTRANTCONSTITUENTID,
@REGISTRANTFIRSTNAME,
@REGISTRANTKEYNAME,
@REGISTRANTTITLECODEID,
@REGISTRANTPHONE,
@REGISTRANTEMAIL,
@REGISTRANTCOUNTRYID,
@REGISTRANTSTATEID,
@REGISTRANTADDRESSBLOCK,
@REGISTRANTCITY,
@REGISTRANTPOSTCODE
end
close REGISTRANT_CURSOR
deallocate REGISTRANT_CURSOR
declare @EVENTREGISTRANTMAPPINGS xml = (
select
[R].[EVENTID],
[R].[EVENTPRICEID],
[R].[REGISTRATIONSCOLLECTIONID],
'' as [REGISTRANTREGISTRATIONMAPS],
(select [R].[PREFERENCES]),
(select
[R].[EVENTID],
0 as [WAIVEBENEFITS]
for xml raw('ITEM'),type,elements,root('REGISTRANTWAIVEBENEFITS'),binary base64
),
[R].[CONSTITUENTID] as [GUESTCONSTITUENTID],
0 as [BENEFITSWAIVED],
0 as [WAIVEREGISTRATIONFEE],
0 as [HASNOTIFICATIONS],
1 as [ONLINEREGISTRANT]
from @REGISTRANTS_TABLE [R]
for xml raw('ITEM'),type,elements,root('REGISTRANTMAPPINGS'),binary base64
)
declare @HOSTREGISTRANTID uniqueidentifier = null
exec dbo.USP_REGISTRANT_UNIFIEDUPDATE
@ID = @HOSTREGISTRANTID output,
@CURRENTAPPUSERID = @CURRENTAPPUSERID,
@SECURITYCONTEXTFORMINSTANCEID = 'EA30FC33-570E-4F1B-B5BD-237F8BC89E5E', --Data form instance ID for this for
@CHANGEAGENTID = @CHANGEAGENTID,
@CURRENTDATE = @CURRENTDATE,
@EVENTID = @EVENTID,
@CONSTITUENTID = @HOSTCONSTITUENTID,
@DATEPURCHASED = @CURRENTDATE,
@PACKAGEREGISTRATIONS = null,
@PACKAGESPRICES = null,
@SINGLEEVENTREGISTRATIONS = @SINGLEEVENTREGISTRATIONS,
@WAIVEBENEFITS = 0,
@REGISTRANTMAPPINGS = @EVENTREGISTRANTMAPPINGS,
@DELETEDREGISTRANTREGISTRATIONMAPS = null,
@ISADD = 1,
@ISWALKIN = 0;
declare @EVENTNAME nvarchar(100)
select @EVENTNAME = [NAME] from dbo.[EVENT] where [ID] = @EVENTID
merge dbo.[SALESORDERITEMEVENTREGISTRATION] as [TARGET]
using (select @ID as ID) as [SOURCE]
on (TARGET.ID = SOURCE.ID)
when matched then
update
set
REGISTRANTID = @HOSTREGISTRANTID,
EVENTNAME = @EVENTNAME,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
when not matched then
insert (
ID,
REGISTRANTID,
EVENTNAME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values (
@ID,
@HOSTREGISTRANTID,
@EVENTNAME,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.[SALESORDERITEMEVENTREGISTRANTREGISTRATION]
(
[ID],
[SALESORDERITEMEVENTREGISTRATIONID],
[EVENTPRICEID],
[QUANTITY],
[AMOUNT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
select
newid(),
@ID,
[REGISTRANTREGISTRATION].[EVENTPRICEID],
coalesce(sum([REGISTRANTREGISTRATION].[QUANTITY]),0),
coalesce(sum([REGISTRANTREGISTRATION].[AMOUNT]),0),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.[REGISTRANTREGISTRATION]
where [REGISTRANTREGISTRATION].[REGISTRANTID] = @HOSTREGISTRANTID
group by [REGISTRANTREGISTRATION].[EVENTPRICEID]
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;