USP_DATAFORMTEMPLATE_EDIT_MAPPINGCREDENTIALS_2

The save procedure used by the edit dataform template "Mapping Credentials Edit Form".

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@USERNAME nvarchar(100) IN User ID
@PASSWORD nvarchar(100) IN Password
@KEY nvarchar(64) IN Key

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MAPPINGCREDENTIALS_2(
                        @CHANGEAGENTID uniqueidentifier,
                        @USERNAME nvarchar(100),
                        @PASSWORD nvarchar(100),
                        @KEY nvarchar(64)
                    ) as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

                        set @CURRENTDATE = getdate();

                        declare @PRODUCTION bit;
                        set @PRODUCTION = 1;

                        declare @CREDENTIALSEXIST bit;
                        set @CREDENTIALSEXIST = 1;

                        if len(@KEY) = 0
                            set @CREDENTIALSEXIST = 0;

                        begin try
                            exec dbo.USP_GET_KEY_ACCESS;

                            if not exists(select 1 from dbo.MAPPINGCREDENTIALS) begin
                                if @CREDENTIALSEXIST = 1
                                    insert into dbo.MAPPINGCREDENTIALS
                                    (
                                        [USERNAME],
                                        [PASSWORD],
                                        [PRODUCTION],
                                        [KEY],
                                        [ADDEDBYID],
                                        [CHANGEDBYID],
                                        [DATEADDED],
                                        [DATECHANGED]
                                    )
                                    values
                                    (
                                        @USERNAME,
                                        EncryptByKey(key_GUID('sym_BBInfinity'), @PASSWORD),
                                        @PRODUCTION,
                                        EncryptByKey(key_GUID('sym_BBInfinity'), @KEY),
                                        @CHANGEAGENTID,
                                        @CHANGEAGENTID,
                                        @CURRENTDATE,
                                        @CURRENTDATE
                                    );
                            end
                            else begin
                                if @CREDENTIALSEXIST = 1
                                    update dbo.MAPPINGCREDENTIALS set
                                        USERNAME = @USERNAME,
                                        PASSWORD = EncryptByKey(key_GUID('sym_BBInfinity'), @PASSWORD),
                                        PRODUCTION = @PRODUCTION,
                                        [KEY] = EncryptByKey(key_GUID('sym_BBInfinity'), @KEY),
                                        CHANGEDBYID = @CHANGEAGENTID,
                                        DATECHANGED = @CURRENTDATE;
                                else
                                    delete dbo.MAPPINGCREDENTIALS;
                            end

                            close symmetric key sym_BBInfinity;

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

                        return 0;