USP_UPDATEEVENTPREFERENCE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PREFERENCEXML | xml | IN | |
@REGISTRANTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE PROCEDURE dbo.USP_UPDATEEVENTPREFERENCE
(
@PREFERENCEXML as xml,
@REGISTRANTID as uniqueIdentifier,
@CHANGEDATE as datetime,
@CHANGEAGENTID as uniqueidentifier
)
as
set nocount on;
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @PREFERENCEOPTIONS table
(
ID uniqueidentifier default newid(),
PREFERENCEGROUPID uniqueidentifier,
PREFERENCEOPTIONID uniqueidentifier
)
insert into @PREFERENCEOPTIONS (PREFERENCEGROUPID,PREFERENCEOPTIONID)
select
T.c.value('(PREFERENCEID)[1]', 'uniqueidentifier') as 'PREFERENCEGROUPID',
T.c.value('(PREFERENCEOPTIONID)[1]', 'uniqueidentifier') as 'PREFERENCEOPTIONID'
from @preferenceXml.nodes('/PREFERENCES/ITEM') T(c)
insert into dbo.REGISTRANTPREFERENCE
(
ID,
REGISTRANTID,
EVENTPREFERENCEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
PO.ID,
@REGISTRANTID,
PO.PREFERENCEOPTIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE
from
@PREFERENCEOPTIONS as PO
inner join dbo.REGISTRANTREGISTRATIONMAP as RRM on RRM.REGISTRANTID = @REGISTRANTID
insert into dbo.REGISTRANTPREFERENCEMAP
(
ID,
REGISTRANTREGISTRATIONMAPID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
PO.ID,
RRM.ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE
from @PREFERENCEOPTIONS as PO
inner join dbo.REGISTRANTREGISTRATIONMAP as RRM on RRM.REGISTRANTID = @REGISTRANTID
end