USP_DATAFORMTEMPLATE_ADD_CONSTIT_SECURITY_ATTRIBUTE_SYSTEMROLE

The save procedure used by the add dataform template "Constituent Security Group System Role Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CONSTIT_SECURITY_ATTRIBUTEID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@SYSTEMROLEID uniqueidentifier IN System role

Definition

Copy


                    create procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTIT_SECURITY_ATTRIBUTE_SYSTEMROLE
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CONSTIT_SECURITY_ATTRIBUTEID uniqueidentifier,
                        @SYSTEMROLEID uniqueidentifier = null
                    ) as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        if @ID is null
                            set @ID = newid();

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

                        declare @OLD_CONSTIT_SECURITY_ATTRIBUTEID uniqueidentifier;
                        select
                            @OLD_CONSTIT_SECURITY_ATTRIBUTEID = [CONSTIT_SECURITY_ATTRIBUTEID]
                        from
                            dbo.[SYSTEMROLE_CONSTIT_SECURITY_ATTRIBUTE]
                        where
                            [ID] = @SYSTEMROLEID;

                        begin try
                            if @OLD_CONSTIT_SECURITY_ATTRIBUTEID is not null and @OLD_CONSTIT_SECURITY_ATTRIBUTEID <> @CONSTIT_SECURITY_ATTRIBUTEID begin
                                update
                                    dbo.[SYSTEMROLE_CONSTIT_SECURITY_ATTRIBUTE]
                                set
                                    [CONSTIT_SECURITY_ATTRIBUTEID] = @CONSTIT_SECURITY_ATTRIBUTEID,
                                    [CHANGEDBYID] = @CHANGEAGENTID,
                                    [DATECHANGED] = @CURRENTDATE
                                where
                                    [ID] = @SYSTEMROLEID;
                            end
                            else begin
                                insert into dbo.[SYSTEMROLE_CONSTIT_SECURITY_ATTRIBUTE]
                                (
                                    [ID],
                                    [CONSTIT_SECURITY_ATTRIBUTEID],
                                    [ADDEDBYID],
                                    [CHANGEDBYID],
                                    [DATEADDED],
                                    [DATECHANGED]
                                )
                                values
                                (
                                    @SYSTEMROLEID,
                                    @CONSTIT_SECURITY_ATTRIBUTEID,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE
                                )
                            end
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;