USP_DATAFORMTEMPLATE_SYSTEMROLEADDEXISTINGAPPUSER

The save procedure used by the add dataform template "System Role Existing User 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.
@SYSTEMROLEID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@APPUSERID uniqueidentifier IN Application user ID

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_SYSTEMROLEADDEXISTINGAPPUSER
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,    
    @SYSTEMROLEID uniqueidentifier,
    @APPUSERID uniqueidentifier
)
as
    set nocount on;

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

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

    begin try

        update dbo.SYSTEMROLE 
            set CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE 
            where ID = @SYSTEMROLEID;

        --Add user to role
        if not exists (SELECT ID from SYSTEMROLEAPPUSER where (APPUSERID = @APPUSERID) and (SYSTEMROLEID = @SYSTEMROLEID))
            begin
                set @ID = NewID()
                insert into dbo.SYSTEMROLEAPPUSER 
                    (ID, SYSTEMROLEID, APPUSERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                values
                    (@ID, @SYSTEMROLEID, @APPUSERID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
            end

        return 0;

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch