USP_RECORDOPERATION_MARKAPPUSERACTIVE

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


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

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

                    declare @PROXYOWNERID uniqueidentifier;
                    declare @ISPROXYUSER bit;

                    select @ISPROXYUSER = dbo.UFN_APPUSER_ISPROXYUSER(@ID);

                    if @ISPROXYUSER = 1
                        begin
                            select  @PROXYOWNERID = PROXYOWNERID from dbo.APPUSER where ID = @ID;

                            --if appuser is inactive in any of the tables below then the proxy user can't be marked active again

                            if exists (select ID from dbo.APPUSER where ID = @PROXYOWNERID and ISACTIVE = 0) or
                               exists (select ID from dbo.APPUSERTHIRDPARTYAUTH where ID = @PROXYOWNERID and INACTIVE = 1)
                                begin
                                    raiserror('ERR_PROXYOWNER_INACTIVE', 13, 1);
                                end
                            else
                                begin
                                     exec USP_RECORDOPERATION_APPUSER_APPUSERTHIRDPARTYAUTH_MARKACTIVE @ID;
                                end
                        end
                   else
                       begin
                              exec USP_RECORDOPERATION_APPUSER_APPUSERTHIRDPARTYAUTH_MARKACTIVE @ID;
                        end
                    return 0;