USP_SECUREGATEWAY_CREDENTIALS_SET

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@NAME nvarchar(500) IN
@ACCESSKEY nvarchar(200) IN

Definition

Copy

                    CREATE procedure dbo.USP_SECUREGATEWAY_CREDENTIALS_SET  
                    (  
                     @ID uniqueidentifier = null output,  
                     @NAME nvarchar(500),  
                     @ACCESSKEY nvarchar(200)  
                    )  
                    as  
                     begin  

                        set nocount on;  

                        declare @CURRENTDATE datetime;  
                        set @CURRENTDATE = getDate();  

                        declare @CHANGEAGENTID uniqueidentifier;  
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;  

                        exec dbo.USP_GET_KEY_ACCESS;  
                        begin try  

                         if (@NAME is null) or (@NAME = '')  
                             raiserror('Credential name is missing', 13, 1);  

                         if (@ACCESSKEY is null) or (@ACCESSKEY = '')  
                             raiserror('Credential access key is missing', 13, 1);  

                         if @ID is null  
                            set @ID = newid();  

                         if ((select count(1) from dbo.[SECUREGATEWAYCREDENTIALS]) = 0)  
                            insert into dbo.[SECUREGATEWAYCREDENTIALS]  
                            (  
                             [ID],  
                             [NAME],  
                             [ACCESSKEY],   
                             [ADDEDBYID],  
                             [CHANGEDBYID],   
                             [DATEADDED],   
                             [DATECHANGED]  
                            )  
                            values  
                            (  
                             @ID,  
                             @NAME,  
                             EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCESSKEY),  
                             @CHANGEAGENTID,  
                             @CHANGEAGENTID,  
                             @CURRENTDATE,  
                             @CURRENTDATE  
                            )  
                         else  
                            update dbo.[SECUREGATEWAYCREDENTIALS]  
                            set  
                             [ID] = @ID,  
                             [NAME] = @NAME,  
                             [ACCESSKEY] = EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCESSKEY),   
                             [ADDEDBYID] = @CHANGEAGENTID,  
                             [CHANGEDBYID] = @CHANGEAGENTID,  
                             [DATEADDED] = @CURRENTDATE,  
                             [DATECHANGED] = @CURRENTDATE

                        close symmetric key sym_BBInfinity;  
                        end try  
                        begin catch  
                         exec dbo.USP_RAISE_ERROR;  
                         close symmetric key sym_BBInfinity;  
                         return 1;  
                        end catch  

                        return 0;  
                     end