USP_PROGRAMEVENTCONFLICT_INSERTPREFERENCES
Inserts program event preferences into conflict tables.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTCONFLICTID | uniqueidentifier | IN | |
@PROGRAMID | uniqueidentifier | IN | |
@PREFERENCEGROUPID | uniqueidentifier | IN | |
@PREFERENCEGROUPNAME | nvarchar(100) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN |
Definition
Copy
create procedure dbo.USP_PROGRAMEVENTCONFLICT_INSERTPREFERENCES
(
@EVENTCONFLICTID uniqueidentifier = null,
@PROGRAMID uniqueidentifier = null,
@PREFERENCEGROUPID uniqueidentifier = null,
@PREFERENCEGROUPNAME nvarchar(100) = null,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTDATE datetime = null
)
as
begin
declare @ID uniqueidentifier = newid();
if @CURRENTDATE is null
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
if exists (select 1 from dbo.PROGRAM where @PROGRAMID = ID and ISPREREGISTERED = 1)
begin
if @PREFERENCEGROUPID is not null
begin
insert into dbo.PREFERENCEGROUPCONFLICT
(
ID,
EVENTCONFLICTID,
NAME,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
values
(
@ID,
@EVENTCONFLICTID,
@PREFERENCEGROUPNAME,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
)
insert into dbo.PREFERENCECONFLICT
(
ID,
NAME,
SEQUENCE,
PREFERENCEGROUPCONFLICTID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select newid(),
EP.NAME,
EP.SEQUENCE,
@ID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.EVENTPREFERENCE EP
inner join EVENTPREFERENCEGROUP EG on EG.ID = EP.EVENTPREFERENCEGROUPID
where EG.ID = @PREFERENCEGROUPID
end
else
begin
declare @PREFERENCESGROUPTABLE table (OLDID uniqueidentifier, NEWID uniqueidentifier, NAME nvarchar(100));
insert into @PREFERENCESGROUPTABLE
select ID,
newid(),
NAME
from dbo.PROGRAMPREFERENCEGROUP
where PROGRAMID = @PROGRAMID
insert into dbo.PREFERENCEGROUPCONFLICT
(
ID,
EVENTCONFLICTID,
NAME,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select
NEWID,
@EVENTCONFLICTID,
NAME,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from @PREFERENCESGROUPTABLE
insert into dbo.PREFERENCECONFLICT
(
ID,
NAME,
SEQUENCE,
PREFERENCEGROUPCONFLICTID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select newid(),
PP.NAME,
PP.SEQUENCE,
PGT.NEWID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.PROGRAMPREFERENCE PP
inner join @PREFERENCESGROUPTABLE PGT
on PGT.OLDID = PP.PROGRAMPREFERENCEGROUPID
end
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
end