USP_DATAFORMADDINCATALOG_CREATEORUPDATE
Creates or updates the given data form addin
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@NAME | nvarchar(60) | IN | |
@DESCRIPTION | nvarchar(1000) | IN | |
@DATAFORMINSTANCEID | uniqueidentifier | IN | |
@ASSEMBLYNAME | nvarchar(128) | IN | |
@CLASSNAME | nvarchar(128) | IN | |
@SEQUENCE | int | IN | |
@DATAFORMADDINSPECXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure [dbo].[USP_DATAFORMADDINCATALOG_CREATEORUPDATE]
@ID uniqueidentifier = null output,
@NAME nvarchar(60),
@DESCRIPTION nvarchar(1000) = '',
@DATAFORMINSTANCEID uniqueidentifier,
@ASSEMBLYNAME nvarchar(128),
@CLASSNAME nvarchar(128),
@SEQUENCE int = 0,
@DATAFORMADDINSPECXML xml,
@CHANGEAGENTID uniqueidentifier = null
as
set nocount on
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @ChangeAgentID output
if (@SEQUENCE = 0) or (@SEQUENCE is null)
select @SEQUENCE = coalesce(max(SEQUENCE), -1) + 1 from dbo.DATAFORMADDINCATALOG where DATAFORMINSTANCEID = @DATAFORMINSTANCEID
declare @date datetime
set @date = getDate()
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = ID from dbo.DATAFORMADDINCATALOG where [NAME] = @NAME
set @ID = @ExistingID
end
else
select @ExistingID = ID from dbo.DATAFORMADDINCATALOG where ID = @ID
if @ExistingID is null
begin
if @ID is null set @ID = NewID()
insert into dbo.DATAFORMADDINCATALOG
(ID, NAME, DESCRIPTION, DATAFORMINSTANCEID, ASSEMBLYNAME, CLASSNAME, SEQUENCE, DATAFORMADDINSPECXML, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @NAME, @DESCRIPTION, @DATAFORMINSTANCEID, @ASSEMBLYNAME, @CLASSNAME, @SEQUENCE, @DATAFORMADDINSPECXML, @ChangeAgentID, @ChangeAgentID, @date, @date)
end
else
update dbo.DATAFORMADDINCATALOG
set NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
DATAFORMINSTANCEID = @DATAFORMINSTANCEID,
ASSEMBLYNAME = @ASSEMBLYNAME,
CLASSNAME = @CLASSNAME,
SEQUENCE = @SEQUENCE,
DATAFORMADDINSPECXML = @DATAFORMADDINSPECXML,
CHANGEDBYID=@CHANGEAGENTID,
DATECHANGED=@date
where ID = @ExistingID;
if @@rowcount=0 return 1;
return 0;