USP_DATAFORMTEMPLATE_ADD_CURRENCYEXCHANGERATEDOWNLOADPROCESSXIGNITE

The save procedure used by the add dataform template "Xignite Currency Exchange Rate Download Process Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(4000) IN Description
@TYPECODE tinyint IN Type
@SETSOURCECODETOPROVIDER bit IN Set the exchange rate source to Xignite
@RATES xml IN Rates
@PROVIDERAUTHENTICATION xml IN Authentication
@SETPROVIDERAUTHENTICATIONASDEFAULT bit IN Set as default authentication for Xignite
@PROVIDERPARAMETERS xml IN Parameters
@DELETEHISTORYTHRESHOLDCODE tinyint IN Delete history older than

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_CURRENCYEXCHANGERATEDOWNLOADPROCESSXIGNITE]
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100) = null,
  @DESCRIPTION nvarchar(4000) = null,
  @TYPECODE tinyint = 0,
  @SETSOURCECODETOPROVIDER bit = 1,
  @RATES xml = null,
  @PROVIDERAUTHENTICATION xml = null,
  @SETPROVIDERAUTHENTICATIONASDEFAULT bit = 0,
  @PROVIDERPARAMETERS xml = null,
  @DELETEHISTORYTHRESHOLDCODE tinyint = 2
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

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

  set @CURRENTDATE = getdate();

  exec dbo.[USP_GET_KEY_ACCESS];

  begin try
    insert into dbo.[CURRENCYEXCHANGERATEDOWNLOADPROCESS] (
      [ID],
      [NAME],
      [DESCRIPTION],
      [CURRENCYEXCHANGERATEPROVIDERID],
      [TYPECODE],
      [SETSOURCECODETOPROVIDER],
      [PROVIDERAUTHENTICATION],
      [PROVIDERPARAMETERS],
      [DELETEHISTORYTHRESHOLDCODE],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    ) values (
      @ID,
      @NAME,
      @DESCRIPTION,
      '6E1EAAEF-070F-4F88-B546-036EFA7AE96E',
      @TYPECODE,
      @SETSOURCECODETOPROVIDER,
       encryptbykey(key_guid('sym_BBInfinity'), convert(varbinary(3800), @PROVIDERAUTHENTICATION)),
      @PROVIDERPARAMETERS,
      @DELETEHISTORYTHRESHOLDCODE,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    exec dbo.[USP_CURRENCYEXCHANGERATEDOWNLOADPROCESS_GETRATES_ADDFROMXML] @ID, @RATES, @CHANGEAGENTID;

    update dbo.[CURRENCYEXCHANGERATEPROVIDER] set
      [DEFAULTAUTHENTICATION] = case when @SETPROVIDERAUTHENTICATIONASDEFAULT = 1 then encryptbykey(key_guid('sym_BBInfinity'), convert(varbinary(3800), @PROVIDERAUTHENTICATION)) else [DEFAULTAUTHENTICATION] end
    where [ID] = '6E1EAAEF-070F-4F88-B546-036EFA7AE96E';
  end try

  begin catch
    exec dbo.[USP_RAISE_ERROR];
    return 1;
  end catch

  close symmetric key sym_BBInfinity;

  return 0;