USP_DATAFORMTEMPLATE_EDIT_THIRDPARTYAUTH_APPLICATIONUSER_SENDINVITATION

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@DISPLAYNAME nvarchar(255) IN
@EMAILADDRESS nvarchar(100) IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_THIRDPARTYAUTH_APPLICATIONUSER_SENDINVITATION
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @DISPLAYNAME nvarchar(255),
    @EMAILADDRESS nvarchar(100)
)
as
    set nocount on;

    declare @CURRENTDATE datetime = getdate();
    declare @INACTIVE bit = 0;

    select
        @INACTIVE = INACTIVE
    from dbo.APPUSERTHIRDPARTYAUTH
    where ID = @ID;

    if @INACTIVE = 1
        raiserror('BBERR_APPUSER_INACTIVE', 16, 1);

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

    begin try

        update dbo.APPUSER set
            DISPLAYNAME = @DISPLAYNAME,
            EMAILADDRESS = @EMAILADDRESS,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID
            and (
                (DISPLAYNAME <> @DISPLAYNAME)
                or (EMAILADDRESS is null and @EMAILADDRESS is not null)
                or (EMAILADDRESS <> @EMAILADDRESS)
            );

            if ((select top 1 1 from dbo.APPUSERCLAIMS where APPUSERID = @ID) = 1)
            begin
                update dbo.APPUSERCLAIMS set
                    EMAILADDRESS = @EMAILADDRESS
                where APPUSERID = @ID
                    and EMAILADDRESS <> @EMAILADDRESS;
            end

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

    return 0;