USP_DATAFORMTEMPLATE_ADD_CSSCLASS
The save procedure used by the add dataform template "CssClass Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CONTENTTYPESID | int | IN | |
@CSSXML | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CSSCLASS
(
@ID uniqueidentifier output,
@CONTENTTYPESID int,
@CSSXML xml
)
as
set nocount on;
begin try;
declare @CSS_CTE table(CLASSNAME nvarchar(255), BBDEFAULTCSS nvarchar(2048), DESCRIPTION nvarchar(2048), INHERITSCLASS nvarchar(255))
insert into @CSS_CTE(CLASSNAME, BBDEFAULTCSS, DESCRIPTION, INHERITSCLASS)
select
T.c.value('(Name)[1]', 'nvarchar(255)'),
T.c.value('(DefaultStyle)[1]', 'nvarchar(2048)'),
T.c.value('(Description)[1]', 'nvarchar(2048)'),
T.c.value('(InheritsClass)[1]', 'nvarchar(255)')
from @CSSXML.nodes('/CSS/Class') T(c)
delete CC from CSSCLASSES CC left outer join @CSS_CTE CT on CC.CLASSNAME=CT.CLASSNAME
where CC.CONTENTTYPEID = @CONTENTTYPESID
AND CT.CLASSNAME is null
insert into CSSCLASSES(CLASSNAME, BBDEFAULTCSS, CONTENTTYPEID, [DESCRIPTION], INHERITSCLASS)
select
CT.CLASSNAME, CT.BBDEFAULTCSS, @CONTENTTYPESID, CT.DESCRIPTION, CT.INHERITSCLASS
from @CSS_CTE CT left outer join CSSCLASSES CC on CT.CLASSNAME=CC.CLASSNAME
where CC.CLASSNAME is null
update CSSCLASSES
set CSSCLASSES.BBDEFAULTCSS = CT.BBDEFAULTCSS,
CSSCLASSES.DESCRIPTION = CT.DESCRIPTION,
CSSCLASSES.INHERITSCLASS = CT.INHERITSCLASS
from
CSSCLASSES inner join @CSS_CTE CT on CSSCLASSES.CLASSNAME = CT.CLASSNAME
where CSSCLASSES.CONTENTTYPEID=@CONTENTTYPESID
select @ID = newid();
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0