USP_DATAFORMTEMPLATE_EDIT_SYSTEMROLECUSTOMIZEHOMEPAGE

The save procedure used by the edit dataform template "System Role Customize Home Page Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@GRANTORDENY tinyint IN Grant Or Deny

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SYSTEMROLECUSTOMIZEHOMEPAGE
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @GRANTORDENY tinyint
)
as
    set nocount on;

    declare @CURRENTDATE datetime;

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

        set @CURRENTDATE = getdate();

        if @GRANTORDENY = 2 
            begin
                -- clear the permission setting
                declare @CURRENTID uniqueidentifier;
                select @CURRENTID = ID from dbo.SYSTEMROLEPERM_DATAFORMINSTANCE where (SYSTEMROLEID = @ID) and (DATAFORMINSTANCECATALOGID = '691E1971-13B1-4947-AAD5-1D47103124F4');

                if not @CURRENTID is null
                    exec dbo.USP_SYSTEMROLEPERM_DATAFORMINSTANCE_DELETEBYID_WITHCHANGEAGENTID @ID=@CURRENTID, @CHANGEAGENTID=@CHANGEAGENTID;

            end

        else 
            begin
                update dbo.SYSTEMROLEPERM_DATAFORMINSTANCE set GRANTORDENY = @GRANTORDENY, CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
                where (SYSTEMROLEID = @ID) and (DATAFORMINSTANCECATALOGID = '691E1971-13B1-4947-AAD5-1D47103124F4')

                if @@rowcount = 0 
                    insert into dbo.SYSTEMROLEPERM_DATAFORMINSTANCE 
                        (ID, SYSTEMROLEID, DATAFORMINSTANCECATALOGID, GRANTORDENY, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                    values
                        (NewID(), @ID, '691E1971-13B1-4947-AAD5-1D47103124F4', @GRANTORDENY, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

            end

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

    return 0;