USP_DATAFORMTEMPLATE_ADD_DESIGNATIONLEVELRECIPIENT

The save procedure used by the add dataform template "Fundraising Purpose Recipient 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.
@DESIGNATIONLEVELID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CONSTITUENTID uniqueidentifier IN Constituent
@EDUCATIONALHISTORYID uniqueidentifier IN Education
@DATE datetime IN Award date
@AMOUNT money IN Award amount
@STATUSCODEID uniqueidentifier IN Status
@TYPECODEID uniqueidentifier IN Type
@COMMENTS nvarchar(255) IN Comments
@PUBLISHEDNAME nvarchar(100) IN Published name
@SCHOLARSHIPTERMID uniqueidentifier IN Scholarship term
@FERPA bit IN FERPA documentation received
@USERDEFINEDID nvarchar(100) IN

Definition

Copy


          CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DESIGNATIONLEVELRECIPIENT
          (
            @ID uniqueidentifier = null output,
            @CHANGEAGENTID uniqueidentifier = null,    
            @DESIGNATIONLEVELID uniqueidentifier,
            @CONSTITUENTID uniqueidentifier = null,    
            @EDUCATIONALHISTORYID uniqueidentifier = null,                                          
            @DATE datetime = null,
            @AMOUNT money = 0,
            @STATUSCODEID uniqueidentifier = null,
            @TYPECODEID uniqueidentifier = null,
            @COMMENTS nvarchar(255) = null,
            @PUBLISHEDNAME nvarchar(100) = null,
            @SCHOLARSHIPTERMID uniqueidentifier = null,
            @FERPA bit = null,
            @USERDEFINEDID nvarchar(100) = ''
          )
          as
          begin
            set nocount on;

            declare @CURRENTDATE datetime;                                        
            declare @SEQUENCE int;

            select 
              @SEQUENCE = coalesce(max(SEQUENCE),0)
            from
              dbo.DESIGNATIONLEVELRECIPIENT
            where
              DESIGNATIONLEVELID = @DESIGNATIONLEVELID;

            set @SEQUENCE = @SEQUENCE + 1;

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

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

            set @CURRENTDATE = getdate();

            declare @BASECURRENCYID uniqueidentifier;
            declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
            declare @ORGANIZATIONAMOUNT money;
            declare @ORGANIZATIONCURRENCYID uniqueidentifier;
            set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

            select
              @BASECURRENCYID = DESIGNATIONLEVEL.BASECURRENCYID
            from
              dbo.DESIGNATIONLEVEL
            where
              DESIGNATIONLEVEL.ID = @DESIGNATIONLEVELID;

            if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
            begin
              set @ORGANIZATIONAMOUNT = @AMOUNT;
            end
            else
            begin
              set @ORGANIZATIONEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
              set @ORGANIZATIONAMOUNT = dbo.UFN_CURRENCY_CONVERT(@AMOUNT, @ORGANIZATIONEXCHANGERATEID);
            end

            begin try
              insert into dbo.DESIGNATIONLEVELRECIPIENT 
                (ID,DESIGNATIONLEVELID,CONSTITUENTID,EDUCATIONALHISTORYID,DATE,AMOUNT,STATUSCODEID,TYPECODEID,COMMENTS,SEQUENCE,PUBLISHEDNAME,SCHOLARSHIPTERMID,FERPA,ORGANIZATIONAMOUNT,ORGANIZATIONEXCHANGERATEID,BASECURRENCYID,USERDEFINEDID,ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
              values
                (@ID, @DESIGNATIONLEVELID, @CONSTITUENTID, @EDUCATIONALHISTORYID, @DATE, @AMOUNT,@STATUSCODEID,@TYPECODEID,@COMMENTS,@SEQUENCE,@PUBLISHEDNAME,@SCHOLARSHIPTERMID,@FERPA,@ORGANIZATIONAMOUNT,@ORGANIZATIONEXCHANGERATEID,@BASECURRENCYID,@USERDEFINEDID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
            end try

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

            return 0;

          end