USP_DATAFORMTEMPLATE_EDIT_THIRDPARTYAUTH_APPUSER_MARKINACTIVE

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@DETAILS nvarchar(300) IN

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_THIRDPARTYAUTH_APPUSER_MARKINACTIVE 
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @DETAILS nvarchar(300)
)
as
    set nocount on;

    declare @INACTIVECODE tinyint = 4;
    declare @INACTIVE bit = 0;

    select
        @INACTIVE = isnull(APPUSERTHIRDPARTYAUTH.INACTIVE, 0)
    from dbo.APPUSER
    left outer join dbo.APPUSERTHIRDPARTYAUTH
        on APPUSER.ID = APPUSERTHIRDPARTYAUTH.ID
    where APPUSER.ID = @ID;

    if @INACTIVE = 1
        raiserror('BBERR_APPUSERALREADYINACTIVE', 13, 1);

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

    declare @CURRENTDATE datetime = getdate();
    declare @CURRENTDATETIMEOFFSET datetimeoffset = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET(GETUTCDATE(), 1);

    begin try

        if exists (select 1 from dbo.APPUSERTHIRDPARTYAUTH where ID = @ID)
            update dbo.APPUSERTHIRDPARTYAUTH set
                INACTIVE = 1,
                INACTIVEDATE = @CURRENTDATETIMEOFFSET,
                INACTIVEDETAILS = @DETAILS,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where ID = @ID;

        else
            insert into dbo.APPUSERTHIRDPARTYAUTH
                (ID, INACTIVE, INACTIVEDATE, INACTIVEDETAILS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
            values
                (@ID, 1, @CURRENTDATETIMEOFFSET, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

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

return 0;