USP_DATAFORMTEMPLATE_EDIT_BATCHEVENTREGISTRANTBATCHROW_4
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SEQUENCE | int | IN | |
@EVENTID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@DATEPURCHASED | datetime | IN | |
@EVENTPRICEID | uniqueidentifier | IN | |
@REGISTRANTSTATUSCODE | tinyint | IN | |
@WAIVEBENEFITS | bit | IN | |
@QUANTITY | int | IN | |
@GUESTS | xml | IN | |
@REGISTRANTLOOKUPID | nvarchar(100) | IN | |
@DESIGNATIONID | uniqueidentifier | IN | |
@REGISTRATIONTYPECODE | tinyint | IN | |
@REGISTRATIONSTATUSCODE | tinyint | IN | |
@REGISTRATIONATTENDEDCODE | tinyint | IN | |
@EVENT_IMPORTLOOKUPID | nvarchar(100) | IN | |
@OPPORTUNITYID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_BATCHEVENTREGISTRANTBATCHROW_4
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@SEQUENCE int,
@EVENTID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@DATEPURCHASED datetime,
@EVENTPRICEID uniqueidentifier,
@REGISTRANTSTATUSCODE tinyint,
@WAIVEBENEFITS bit,
@QUANTITY int,
@GUESTS xml,
@REGISTRANTLOOKUPID nvarchar(100),
@DESIGNATIONID uniqueidentifier,
@REGISTRATIONTYPECODE tinyint,
@REGISTRATIONSTATUSCODE tinyint ,
@REGISTRATIONATTENDEDCODE tinyint,
@EVENT_IMPORTLOOKUPID nvarchar(100),
@OPPORTUNITYID uniqueidentifier
)
as
set nocount on;
declare @CURRENTDATE datetime;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
begin try
update dbo.BATCHEVENTREGISTRANT
set
[SEQUENCE] = @SEQUENCE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE,
[EVENTID] = @EVENTID,
[CONSTITUENTID] = @CONSTITUENTID,
[DATEPURCHASED] = @DATEPURCHASED,
[EVENTPRICEID] = @EVENTPRICEID,
[REGISTRANTSTATUSCODE] = coalesce(@REGISTRANTSTATUSCODE, 0),
[WAIVEBENEFITS] = coalesce(@WAIVEBENEFITS, 0),
[QUANTITY] = coalesce(@QUANTITY, 1),
[REGISTRANTLOOKUPID] = coalesce(@REGISTRANTLOOKUPID,''),
[DESIGNATIONID] = @DESIGNATIONID,
[ISWALKIN] = ISNULL(@REGISTRATIONTYPECODE,0),
[REGISTRATIONSTATUSCODE] =
case @REGISTRATIONTYPECODE
when 1 then 0 --Walkin = registered
else ISNULL(@REGISTRATIONSTATUSCODE,0)
end,
[REGISTRATIONATTENDEDCODE] =
case
when @REGISTRATIONTYPECODE = 1 then 1 --Walkin then attended
when @REGISTRATIONSTATUSCODE in (1,2) then 2 --Will not attend or canceled then not attended
else ISNULL(@REGISTRATIONATTENDEDCODE,0)
end,
[OPPORTUNITYID] = @OPPORTUNITYID
where ID = @ID;
declare @UNKNOWNGUESTWELLKNOWNGUID uniqueidentifier;
set @UNKNOWNGUESTWELLKNOWNGUID = 'C776DAB5-65B2-4258-ADAE-AE396D28E251'; --Well-known GUID for unknown guest
declare @GUESTTABLE table
(
ATTENDED bit,
CONSTITUENTID uniqueidentifier,
ID uniqueidentifier,
WAIVEREGISTRATIONFEE bit
);
insert into @GUESTTABLE
(
ATTENDED,
CONSTITUENTID,
ID,
WAIVEREGISTRATIONFEE
)
select
ATTENDED,
CONSTITUENTID,
ID,
WAIVEREGISTRATIONFEE
from dbo.UFN_BATCHEVENTREGISTRANT_GETGUESTS_FROMITEMLISTXML(@GUESTS);
update @GUESTTABLE
set CONSTITUENTID = null
where CONSTITUENTID = @UNKNOWNGUESTWELLKNOWNGUID;
set @GUESTS =
(
select
[ATTENDED],
[CONSTITUENTID],
[ID],
[WAIVEREGISTRATIONFEE]
from @GUESTTABLE
for xml raw('ITEM'),type,elements,root('GUESTS'),BINARY BASE64
);
exec dbo.USP_BATCHEVENTREGISTRANT_GETGUESTS_UPDATEFROMXML @ID, @GUESTS, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;