USP_MAPENTITYCATALOG_CREATEORUPDATE

Creates a map entity or updates it if it already exists.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(max) IN
@FROMRECORDTYPE nvarchar(50) IN
@MAPPEDRECORDTYPE nvarchar(50) IN
@ADDRESSRECORDTYPE nvarchar(50) IN
@RETURNSMULTIPLE bit IN
@IDISSELECTIONID bit IN
@MAPPINGPROCEDURE nvarchar(255) IN
@SEARCHLISTID uniqueidentifier IN
@ADDDATAFORMINSTANCEID uniqueidentifier IN
@IMAGEKEY nvarchar(512) IN
@MAPENTITYXML xml IN
@SECURITYUIFOLDER nvarchar(255) IN
@CHANGEAGENTID uniqueidentifier IN
@SPECUINAME nvarchar(100) IN
@NAVIGATIONPAGEID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_MAPENTITYCATALOG_CREATEORUPDATE 
(
    @ID uniqueidentifier,
    @NAME nvarchar(100),
    @DESCRIPTION nvarchar(max),
    @FROMRECORDTYPE nvarchar(50),
    @MAPPEDRECORDTYPE nvarchar(50),
    @ADDRESSRECORDTYPE nvarchar(50),
    @RETURNSMULTIPLE bit,
    @IDISSELECTIONID bit,
    @MAPPINGPROCEDURE nvarchar(255),
    @SEARCHLISTID uniqueidentifier,
    @ADDDATAFORMINSTANCEID uniqueidentifier=null,
    @IMAGEKEY nvarchar(512)= '',
    @MAPENTITYXML xml,
    @SECURITYUIFOLDER nvarchar(255),
    @CHANGEAGENTID uniqueidentifier=null,
    @SPECUINAME nvarchar(100) = N'',
    @NAVIGATIONPAGEID uniqueidentifier=null
)
as
    set nocount on;

    declare @CURRENTDATE datetime;
    declare @FROMRECORDTYPEID uniqueidentifier;
    declare @MAPPEDRECORDTYPEID uniqueidentifier;
    declare @ADDRESSRECORDTYPEID uniqueidentifier;

    set @CURRENTDATE = getdate();

    if @CHANGEAGENTID is null
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    if @ADDDATAFORMINSTANCEID = '00000000-0000-0000-0000-000000000000'
        set @ADDDATAFORMINSTANCEID = null

    if @NAVIGATIONPAGEID = '00000000-0000-0000-0000-000000000000'
        set @NAVIGATIONPAGEID = null

    if @SPECUINAME is null
        set @SPECUINAME = N'';

    if @SECURITYUIFOLDER is null
        set @SECURITYUIFOLDER = N'';

    update dbo.MAPENTITYCATALOG
        set NAME = @NAME,
        DESCRIPTION = @DESCRIPTION,
        RETURNSMULTIPLE = @RETURNSMULTIPLE,
        IDISSELECTIONID=@IDISSELECTIONID,
        MAPPINGPROCEDURE=@MAPPINGPROCEDURE,
        SEARCHLISTID=@SEARCHLISTID,
        ADDDATAFORMINSTANCEID=@ADDDATAFORMINSTANCEID,
        IMAGEKEY=@IMAGEKEY,
        MAPENTITYXML=@MAPENTITYXML,
        SECURITYUIFOLDER=@SECURITYUIFOLDER,
        DATECHANGED=@CURRENTDATE,
        CHANGEDBYID=@CHANGEAGENTID,
        SPECUINAME=@SPECUINAME,
        NAVIGATIONPAGEID = @NAVIGATIONPAGEID
    where ID = @ID;

    if @@ROWCOUNT=0
        begin
            if coalesce(@FROMRECORDTYPE,'') <> ''
                exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME=@FROMRECORDTYPE,@CHANGEAGENTID=@CHANGEAGENTID,@RECORDTYPEID=@FROMRECORDTYPEID output;

            if coalesce(@MAPPEDRECORDTYPE,'') <> ''
                exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME=@MAPPEDRECORDTYPE,@CHANGEAGENTID=@CHANGEAGENTID,@RECORDTYPEID=@MAPPEDRECORDTYPEID output;

            if coalesce(@ADDRESSRECORDTYPE,'') <> ''
                exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME=@ADDRESSRECORDTYPE,@CHANGEAGENTID=@CHANGEAGENTID,@RECORDTYPEID=@ADDRESSRECORDTYPEID output;

            insert into dbo.MAPENTITYCATALOG (
                ID,
                NAME,
                DESCRIPTION,
                FROMRECORDTYPEID,
                MAPPEDRECORDTYPEID,
                ADDRESSRECORDTYPEID,
                RETURNSMULTIPLE,
                IDISSELECTIONID,
                MAPPINGPROCEDURE,
                SEARCHLISTID,
                ADDDATAFORMINSTANCEID,
                IMAGEKEY,
                MAPENTITYXML,
                SECURITYUIFOLDER,
                ADDEDBYID,
                CHANGEDBYID,
                SPECUINAME,
                NAVIGATIONPAGEID)
            VALUES (
                @ID,
                @NAME,
                @DESCRIPTION,
                @FROMRECORDTYPEID,
                @MAPPEDRECORDTYPEID,
                @ADDRESSRECORDTYPEID,
                @RETURNSMULTIPLE,
                @IDISSELECTIONID,
                @MAPPINGPROCEDURE,
                @SEARCHLISTID,
                @ADDDATAFORMINSTANCEID,
                @IMAGEKEY,
                @MAPENTITYXML,
                @SECURITYUIFOLDER,
                @CHANGEAGENTID,
                @CHANGEAGENTID,
                @SPECUINAME,
                @NAVIGATIONPAGEID);

        end